AngularJs没有更新视图变量

时间:2015-03-27 11:56:35

标签: angularjs angularjs-ng-show

我在这里有一个情况,我的网站是用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,但仍然没有帮助,但如果我刷新整个页面,那么它就可以了。

1 个答案:

答案 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>