再次向大家寻求 AngularJS 的帮助。我正在构建一个 SPA,其中我的布局(主)页面分为三个部分,左侧导航栏、中心内容、右侧项目列表栏。当我加载我的主页时,我的正确项目列表应该被隐藏,但应该在其余屏幕中可见。我在 homeController 中创建了一个 $rootScope 变量,并根据位置路径将值设置为“true”,并在模板中使用该变量将值设置为 ngHide。当我在使用 SPA 时导航到不同的页面时,我的左右栏不会再次加载,只有我的中心内容才会加载,这是一个新视图。在将数据发送到新视图模板的控制器中加载新视图时,我将在 homeController 中创建的 $rootScope 变量重置为' false',但我的右栏仍然不可见。我可以看到 ng-hidden 类仍在运行,尽管 interpollation 已将值更新为“true”。任何建议将不胜感激。
来自布局页面的标记:
<aside class="right_bar" ng-hide="{{$root.show}}">
<div class="my-list"><span class="f3">My Cart</span><div class=""><span class="list-count">0</span></div></div><div class="list-item"><ul></ul></div>
</aside>
家庭控制器代码:
function getHomeConfigsCtrl($http, $location, $rootScope) {
$rootScope.show = false;
var loc = $location.path();
if (loc === '/Home/Index' || loc ==='')
{
$rootScope.show = true;
}
}
类别控制器代码:这是我重置 $rootScope 变量值的地方
function getAllCategoryDetails($routeParams,$rootScope) {
$rootScope.show = false;
}