0

与えられた

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

計算されたプロパティ テストが更新されてもその値が同じままである場合、テスト CSS クラスが削除されて追加されます。クラスに CSS アニメーションがある場合、クラスを再追加するとアニメーションが再起動するため、これにより問題が発生します。クラスが既に要素の一部である場合、クラスを削除および追加しない方法はありますか?

4

1 に答える 1

0

Ember オブザーバーは、値が変更されたときだけでなく、値が設定されるたびに起動されます。問題の可能な解決策は、値が実際に変更された場合にのみ設定される 2 番目のプロパティを導入することです。何かのようなもの:

<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')
于 2012-11-09T00:42:07.217 に答える