ng-class不会删除在引导角度之前存在的类

时间:2014-01-02 16:59:25

标签: angularjs angularjs-directive

仍然不到72小时即将加速角度。使用淘汰赛一段时间后,我不得不说这很有意思。我现在的问题与ng-class有关。

说我有以下内容:

<div class="myClass" ng-class="{myClass: false}">

当使用angular bootstrap时,它不会删除之前渲染的myClass属性。我原以为它,因为这就是ko的css绑定所做的。似乎角度只会删除类,如果有角度是那个把它放在那里。

那么,有一个共同的解决方法吗?除了创建自定义指令?

1 个答案:

答案 0 :(得分:15)

由于你只是在表单中使用Angular,并且在Angular引导之前需要一个类在表单中的元素上处于活动状态,因此看起来指令可能是最好的方法。

以下指令将在Angular链接指令后从其元素中删除指定的类(当ngClass启动时几乎是相同的点):

.directive('removeClass', function(){
    return {
        restrict: 'A',
        link: function(scope,element, attrs){
            element.removeClass(attrs.removeClass);
        }
    };
});

像这样使用:

<div class="oldClass" remove-class="oldClass" ng-class="{newClass: true}">stuff</div>

demo fiddle