如何从Emberjs对象中删除属性?

12

可以像这样删除普通的JavaScript对象属性...

var foo = {bar: 'baz'};
delete foo.bar

如何删除(而不仅仅是设置为 null)Ember 对象中的属性?

var foo = Ember.Object.create({bar: 'baz'});

5
你尝试过在Ember对象中使用 delete foo.bar 吗? - Jonathan Lonowski
那个可行。我喜欢简单的解决方案。 - a15n
16
说实话,最好使用setter将其设置为未定义,如果只是使用delete,它不会通知任何观察者。 - Kingpin2k
@Kingpin2k,使用setter将其设置为未定义不会删除它,如果它是一个对象,其引用也存储在其他变量中怎么办? - Nitin9791
3
删除操作不会有任何影响,它只是从该对象中移除属性引用。 - Kingpin2k
2个回答

2
foo.set('bar', undefined)

这将删除属性并触发任何观察者。

-3

与普通对象相同:

delete foo.bar

3
这样做将无法正确触发观察者/计算属性等。 - user663031

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接