Ember.js删除并添加了bindAttr的相同CSS类

时间:2012-06-24 08:16:18

标签: ember.js

鉴于

<div {{bindAttr class="test"}}>

更新计算属性测试但其值保持不变时,将删除并添加测试CSS类。当类具有CSS动画时,这会产生问题,因为重新添加类会重新启动动画。有没有办法不删除和添加类,如果它已经是元素的一部分?

1 个答案:

答案 0 :(得分:0)

只要设置了值,就会触发灰烬观察者,而不仅仅是在更改值时。您的问题的一个可能的解决方案是引入第二个属性,该属性仅在值实际更改时设置。类似的东西:

<div {{bindAttr class="stableTest"}}>

然后就像一个观点:

onTestChanged: function() {
    var test = this.get('test');
    var stableTest = this.get('stableTest');
    if (test !== stableTest) {
        this.set('stableTest', test);
    }
}.observes('test')