2

嗨,我正在尝试通过ng-class. 如您所见,代码非常简单,但没有添加类:

app.run(function($rootScope, $location,$http,ngDialog,array_helper){
    var update =  function() {
        /*CONFIG PARAMS*/
        $rootScope.config = {};
        $rootScope.config.app_routes = [
            "/",
            "/channels",
            "/channels/create",
            "/users",
            "/auth/login",
            "/auth/signup"
        ];
        console.log($rootScope.config.app_url);
        console.log($rootScope.config.app_routes.indexOf($rootScope.config.app_url));
    };
    $rootScope.$on('$routeChangeStart', function() { 
        update(); 
    });
});

然后在视图中,我这样做:

<div ng-view ng-animate class="" ng-class="{'slide': config.app_routes.indexOf(config.app_url) == -1}"></div>

但它似乎永远不会起作用,因为它永远不会添加 class slide。同时console.log效果很好,只有在正确时才返回-1:O

4

1 回答 1

8

将您的逻辑移动到范围变量中:

<div ng-view ng-animate ng-class="{ 'slide': someVar }"></div>

并在$scope.someVar = true任何时候设置config.app_routes.indexOf(config.app_url) == -1。如何执行此操作取决于config.app_routes更新方式和时间。

于 2014-02-01T10:06:59.460 回答