[英]Reset Ember Component on Load
我有一個Ember.Component,它將項添加到空數組並在提交時返回數組。 問題是,如果我離開包含Component的Route(在提交和不提交之后),然后再回到它,那么數組中最后的信息仍然存在。 每次我使用組件導航到路線時,我都希望重置。
如果這是一條路線,我只需編寫一個willTransition
或deactivate
方法來重置我的屬性。 但由於它是一個組件,它沒有那些方法,我不能(我知道)訪問我希望從父路由重置的屬性。 那么,每次加載此路由時,如何將此數組重置為空(或重置整個組件)? 謝謝!
更有可能的是,您沒有正確設置正確使用的值。 拿這些例子:
Ember.Component.extend({
items: []
});
Ember.Component.extend({
items: null,
init: function() {
this._super();
this.set('items', []);
}
});
在第一個組件中,組件的每個實例共享相同的items
數組。 因此,如果您添加一個項目,然后創建一個新組件,新組件仍然具有該項目(我認為這是您的問題)。
在第二個組件中,您可以看到我在init
函數中設置了items
屬性。 當我設置屬性時,我每次都將它設置為不同的數組。 現在,每個組件都有自己的items
屬性。
沒有你的代碼很難說,但這似乎是你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.