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