簡體   English   中英

在加載時重置灰燼組件

[英]Reset Ember Component on Load

我有一個Ember.Component,它將項添加到空數組並在提交時返回數組。 問題是,如果我離開包含Component的Route(在提交和不提交之后),然后再回到它,那么數組中最后的信息仍然存在。 每次我使用組件導航到路線時,我都希望重置。

如果這是一條路線,我只需編寫一個willTransitiondeactivate方法來重置我的屬性。 但由於它是一個組件,它沒有那些方法,我不能(我知道)訪問我希望從父路由重置的屬性。 那么,每次加載此路由時,如何將此數組重置為空(或重置整個組件)? 謝謝!

更有可能的是,您沒有正確設置正確使用的值。 拿這些例子:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM