gpt4 book ai didi

javascript - 在 Ember.js 中销毁对象

转载 作者:数据小太阳 更新时间:2023-10-29 06:07:53 26 4
gpt4 key购买 nike

假设我创建了一个 ember 对象,然后将它添加到任意未知数量的数组 Controller 中。有没有一种简单的方法可以销毁对象,以便通知所有阵列 Controller 并将其删除?

http://jsfiddle.net/FcsRP/

destroy from 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('content.@each.isDestroyed')
});
a2 = Ember.ArrayController.create({
content: [],
destroyedObj: function() {
alert('destroyed obj observer in a2');
}.observes('content.@each.isDestroyed')
});

a1.pushObject(obj);
a1.pushObject(obj);
a2.pushObject(obj);

obj.destroy()

alert(a1.get('content').length)

关于javascript - 在 Ember.js 中销毁对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10376633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com