1
我在控制器上撥打destroy()
當我離開某個視圖(不是視圖控制器,而是一個額外的控制器,我使用)。 如果我再回去在同一視圖,控制器仍然存在,它具有屬性:破壞Ember控制器
_didCallDestroy: true
isDestroyed: true
isDestroying: true
全部設置爲預期,但我認爲仍然是綁定到他們。它沒有破壞,因爲它的內容仍然保存着數據?什麼可能導致這個?
我在控制器上撥打destroy()
當我離開某個視圖(不是視圖控制器,而是一個額外的控制器,我使用)。 如果我再回去在同一視圖,控制器仍然存在,它具有屬性:破壞Ember控制器
_didCallDestroy: true
isDestroyed: true
isDestroying: true
全部設置爲預期,但我認爲仍然是綁定到他們。它沒有破壞,因爲它的內容仍然保存着數據?什麼可能導致這個?
上面提到的附加陣列控制器放置在一個數組中。解決方案不僅要銷燬控制器,還要將陣列重置爲[]:
this.get('dataSets').forEach(function (ds) {
ds.destroy();
});
this.set('dataSets', []);
爲什麼要手動調用destroy?只有很少的情況下,當你想自己做。這是一種通常由EmberJS框架唯一調用的方法。 – mavilein
@mavilein我自己手動創建了它們,在這些情況下,您還需要手動刪除它們。 – Rudi