0
相同的CSS類鑑於Ember.js刪除,並增加了bindAttr
<div {{bindAttr class="test"}}>
當計算性能測試被更新,但它的價值保持不變,測試CSS類被刪除和添加。這會在類有CSS動畫時產生問題,因爲重新添加類會重新啓動動畫。如果它已經是元素的一部分,有沒有辦法刪除和添加類?
相同的CSS類鑑於Ember.js刪除,並增加了bindAttr
<div {{bindAttr class="test"}}>
當計算性能測試被更新,但它的價值保持不變,測試CSS類被刪除和添加。這會在類有CSS動畫時產生問題,因爲重新添加類會重新啓動動畫。如果它已經是元素的一部分,有沒有辦法刪除和添加類?
只要設置了值,不僅僅當值被更改時,Ember觀察者都會被觸發。解決你的問題的一個可能的方法是引入第二個屬性,該屬性僅在值實際發生變化時才設置。喜歡的東西:
<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')
你能提供的jsfiddle?你的計算屬性是如何定義的?你可以用這個作爲起點:http://jsfiddle.net/pangratz666/eTcDu/ – pangratz