我在这里有一个情况,我的网站是用angularjs构建的。我的整个路线都通过角度来管理。成功登录后,我将用户重定向到仪表板页面。我对一个元素有一个show hide条件,现在停止了工作。这是代码:
<div id="TilesController" ng-show="ShowTiles" ng-controller="TilesController">
<div class="" id="tiles" ng-include src="'tiles.html'"></div>
</div>
因此,只有登录用户才能看到磁贴。登录后,瓷砖应该是可见的,我听取routechangesuccess事件并根据它进行更改,但它不起作用。
$scope.$on('$routeChangeSuccess', function(event, next, current) {
if(userLoggedIn !== undefined){
$scope.ShowTiles = true;
}
});
但是这不是启用磁贴,但如果我console.log($scope.ShowTiles);
它显示为true。我试过safeapply,但仍然没有帮助,但如果我刷新整个页面,那么它就可以了。
答案 0 :(得分:0)
如何在控制器范围内添加ng-show指令?此时我不确定您是否正在更新userLoggedIn变量,您可能希望将其附加到$ scope。
<div id="TilesController" ng-controller="TilesController">
<div ng-show="ShowTiles" id="tiles" ng-include src="'tiles.html'"></div>
</div>