嗨,我正在尝试通过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>
但似乎它永远不会起作用,因为它从未添加类slide
。同时console.log
效果很好,只有在正确时才返回-1:O
答案 0 :(得分:7)
将您的逻辑移动到范围变量中:
<div ng-view ng-animate ng-class="{ 'slide': someVar }"></div>
并在$scope.someVar = true
时设置config.app_routes.indexOf(config.app_url) == -1
。如何执行此操作取决于config.app_routes
的更新方式和时间。