我有两个班级,class1
和class2
。我已将class2
与.class2-add
的动画绑定在一起。但是,在以下示例中,切换任一类都会触发动画。是什么给了什么?
http://plnkr.co/edit/V1bf0waCnUWCt58F3Y63
我不想在切换class1
时触发动画。
答案 0 :(得分:1)
根据ngClass
当表达式发生变化时,先前添加的类将被删除,然后才会添加新类。
这意味着类被删除并重新添加回您的指令,这就是为什么它会重新触发您的.class2-add
根据您的实际使用情况,我不知道直接修复。
据我所知,一些补救措施是使用CSS:
.class1-add.class2-add {
-webkit-transition:none;
-moz-transition:none;
-o-transition:none;
transition:none;
background-color: #fff;
}
当动画同时存在时取消动画。
或
ng-class="{class1: class1, class2: class2 && !class1}"
但是,当您移除.class2-add
并且.class1
当前处于有效状态(TRUE)时,这两种方法仍然会触发.class2
。
总而言之,-add
会在ng-class
收到更改时重新触发。{/ p>