5
想象一下,我創建了一個ember對象,然後將它添加到任意未知數量的數組控制器。有沒有簡單的銷燬對象的方法,以便所有的數組控制器得到通知並將其刪除?銷燬Ember.js中的對象
從Ember.CoreObject破壞似乎沒有通知的集合,他們的目標已被摧毀,或者集合不刪除自己的對象。我甚至不知道他們是否有意或無意。
想象一下,我創建了一個ember對象,然後將它添加到任意未知數量的數組控制器。有沒有簡單的銷燬對象的方法,以便所有的數組控制器得到通知並將其刪除?銷燬Ember.js中的對象
從Ember.CoreObject破壞似乎沒有通知的集合,他們的目標已被摧毀,或者集合不刪除自己的對象。我甚至不知道他們是否有意或無意。
我能想到的最簡單的方法是在對象的isDestroyed
屬性中添加觀察者。這樣,當你摧毀一些東西,而財產變成true
你可以運行你需要的任何代碼。
看到這個的jsfiddle:http://jsfiddle.net/ud3323/FSCyF/
代碼:
obj = Ember.Object.create({});
a1 = Ember.ArrayController.create({
content: [],
destroyedObj: function() {
alert('destroyed obj observer in a1');
}.observes('[email protected]')
});
a2 = Ember.ArrayController.create({
content: [],
destroyedObj: function() {
alert('destroyed obj observer in a2');
}.observes('[email protected]')
});
a1.pushObject(obj);
a1.pushObject(obj);
a2.pushObject(obj);
obj.destroy()
alert(a1.get('content').length)
嗨羅伊,不知道爲什麼,我不接受你的時候答案,但它絕對是正確的!謝謝! – user1158559