0

我有两个班,class1class2。我已经绑定class2到一个动画.class2-add。但是在下面的示例中,切换任一类都会触发动画。是什么赋予了?

http://plnkr.co/edit/V1bf0waCnUWCt58F3Y63

我不希望在切换时触发动画class1

4

1 回答 1

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被删除并且.class2当前处于活动状态(TRUE)时,这两种方法仍会触发您。

综上所述,当收到更改-add时会重新触发。ng-class

链接:http ://plnkr.co/edit/bFhKyNZBi5uEG0cyCAc7?p=preview

于 2013-09-23T12:34:56.050 回答