1
我在函數didInsertElement
中初始化一個jQuery插件滑塊。如何在init之後更新視圖,但不使用didInsertElement()?
不幸的是,我還在更新頁面上的計算屬性,並且當計算屬性更新時,滑塊重新初始化,因爲didInsertElement
函數會再次觸發。
有一次後 HTML元素在視圖中印將火功能,這樣我就可以初始化我的滑塊,但不是每一個頁面變更,或元素被刪除或移除時間?
編輯:
我想:
didInsertElement: function() {
Ember.run.once(this, 'initSliders');
}
但不幸的是,它仍然運行在每次計算的屬性更新時間。
編輯2:
我試圖包裹在初始化一個布爾值
didInsertElement: function() {
if(!this.get('slidersInitialized')) {
Ember.run.once(this, 'initSliders');
this.set('slidersInitialized', true);
}
}
,但沒有工作,要麼。由於視圖重新渲染,滑塊需要重新初始化。
會包裝與計算屬性更新視圖的部分阻止整個視圖被重新渲染,防止滑塊的元素被銷燬和重新創建?