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

Javascript 如何从Emberjs对象中删除属性?,javascript,ember.js,Javascript,Ember.js,普通的旧Javascript对象属性可以像这样删除 var foo = {bar: 'baz'}; delete foo.bar 如何删除(而不仅仅是设置为null)Ember对象中的属性 var foo = Ember.Object.create({bar: 'baz'}); 与普通对象相同: delete foo.bar 这将删除该属性并触发任何观察者您是否尝试过使用余烬对象删除foo.bar,这很有效。我喜欢简单的解决方案。老实说,你最好使用setter将其设置为未定义,如果你只是删

普通的旧Javascript对象属性可以像这样删除

var foo = {bar: 'baz'};
delete foo.bar
如何删除(而不仅仅是设置为null)Ember对象中的属性

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

与普通对象相同:

delete foo.bar

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

您是否尝试过使用余烬对象删除foo.bar,这很有效。我喜欢简单的解决方案。老实说,你最好使用setter将其设置为未定义,如果你只是删除它,将不会通知任何观察者。@Kingpin2k使用setter将其设置为未定义将不会删除它,如果它是一个引用也存储在其他变量中的对象呢?delete不会有任何不同,它所做的只是从该对象中删除属性引用。这将不会正确触发观察者/计算属性等。
foo.set('bar', undefined)