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

dan*_*wig 15 angularjs angularjs-directive

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

说我有以下内容:

<div class="myClass" ng-class="{myClass: false}">
Run Code Online (Sandbox Code Playgroud)

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

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

Kay*_*ave 15

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

一旦指令通过Angular链接,以下指令将从其元素中删除指定的类(这几乎与启动时的点相同ngClass):

.directive('removeClass', function(){
    return {
        restrict: 'A',
        link: function(scope,element, attrs){
            element.removeClass(attrs.removeClass);
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

像这样使用:

<div class="oldClass" remove-class="oldClass" ng-class="{newClass: true}">stuff</div>
Run Code Online (Sandbox Code Playgroud)

演示小提琴