与えられた
<div {{bindAttr class="test"}}>
計算されたプロパティ テストが更新されてもその値が同じままである場合、テスト CSS クラスが削除されて追加されます。クラスに CSS アニメーションがある場合、クラスを再追加するとアニメーションが再起動するため、これにより問題が発生します。クラスが既に要素の一部である場合、クラスを削除および追加しない方法はありますか?
与えられた
<div {{bindAttr class="test"}}>
計算されたプロパティ テストが更新されてもその値が同じままである場合、テスト CSS クラスが削除されて追加されます。クラスに CSS アニメーションがある場合、クラスを再追加するとアニメーションが再起動するため、これにより問題が発生します。クラスが既に要素の一部である場合、クラスを削除および追加しない方法はありますか?
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')