2

我在这里遇到一种情况,我的网站是用 angularjs 构建的。我的整个路线都是通过角度管理的。成功登录后,我将用户重定向到仪表板页面。我在一个元素上有一个显示隐藏条件,现在停止工作。这是代码:

<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);显示它是真的。我尝试了safeapply,但仍然没有帮助,但是如果我刷新整个页面,那么它就可以了。

4

1 回答 1

0

在控制器范围内添加 ng-show 指令怎么样?此时我不确定您是否正在更新 userLoggedIn 变量,您可能希望将其附加到 $scope。

  <div id="TilesController" ng-controller="TilesController">
                    <div ng-show="ShowTiles" id="tiles" ng-include src="'tiles.html'"></div>
                </div>
于 2015-03-27T12:02:30.017 回答