Javascript 角度ui路由器在特定状态下显示/隐藏元素

Javascript 角度ui路由器在特定状态下显示/隐藏元素,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我想根据angular应用程序的状态显示/隐藏特定内容。但它显然只适用于“儿童国家” 我试着这样做: function($scope, $rootScope, $state){ $rootScope.$state = $state; } 然后是我的html: // THIS DOES NOT WORK - ELEMENT REMAINS HIDDEN!!! <div data-ng-show="$state.includes('home')">s

我想根据angular应用程序的状态显示/隐藏特定内容。但它显然只适用于“儿童国家”

我试着这样做:

function($scope, $rootScope, $state){
     $rootScope.$state = $state;
}
然后是我的html:

// THIS DOES NOT WORK - ELEMENT REMAINS HIDDEN!!!             
<div data-ng-show="$state.includes('home')">some content...</div>

// THIS WORKS - ELEMENT IS VISIBLE ON STATE!!
<div data-ng-show="$state.includes('artist.videos')">some content...</div>
//这不起作用-元素保持隐藏!!!
一些内容。。。
//此工作-元素在状态下可见!!
一些内容。。。
所以,我的问题是:为什么它不能在
'home'
状态下工作


这里的问题是什么?

这与范围继承有关。查看以下链接:

具体而言:

通过遵循ng模型中始终具有“.”的“最佳实践”,可以轻松避免原语的此问题

在模型中使用“.”将确保原型继承发挥作用 而不是
.“

这与作用域继承有关。查看以下链接:

具体而言:

通过遵循ng模型中始终具有“.”的“最佳实践”,可以轻松避免原语的此问题

在模型中使用“.”将确保原型继承发挥作用 而不是
.“

您能告诉我们home和Artister的状态配置吗?您的测试用例上的URL是什么样子的?您能告诉我们home和Artister的状态配置吗?测试用例上的URL不正确,$state与
artist.videos
一起工作,而不是与
home
一起工作。这与点符号无关,因为我们指的是状态名称,而不是范围变量。不正确,$state使用
artist.videos
而不是
home
这与点符号无关,因为我们指的是州名称,而不是范围变量。