Javascript 如何删除或设置灰烬对象的内容为空?

Javascript 如何删除或设置灰烬对象的内容为空?,javascript,jquery,ember.js,Javascript,Jquery,Ember.js,我正在为我的项目使用Ember.js,在某一点上,我必须删除所有内容,或者为Ember.Object将每个属性设置为”或null 因此,在模板中,有一些Handlebar标记链接到一些对象属性({{myProperty}}),因此当对象被清空或每个属性设置为”或null,如果属性被更新为新值,则此绑定应该仍然存在 有没有办法做到这一点?有没有一种方法可以快速遍历所有属性?(开始写这个想法,eachAttribute是Ember.Object上的一个方法,但它是在DS.Model上的。所以…) 如

我正在为我的项目使用Ember.js,在某一点上,我必须删除所有内容,或者为
Ember.Object
将每个属性设置为
null

因此,在模板中,有一些Handlebar标记链接到一些对象属性(
{{myProperty}}
),因此当对象被清空或每个属性设置为
null
,如果属性被更新为新值,则此绑定应该仍然存在

有没有办法做到这一点?有没有一种方法可以快速遍历所有属性?

(开始写这个想法,
eachAttribute
Ember.Object
上的一个方法,但它是在
DS.Model
上的。所以…)

如果您的对象恰好是一个余烬数据
DS.Model
实例,那么有一个
eachAttribute
方法,它采用回调函数。因此,实现您建议的一种方法可能是:

modelobj.eachAttribute(function(propName){
    modelobj.set(propName, null);
});

脑海中浮现的另一个想法是实例化对象的新“空白”实例,并将其分配到旧实例中……我认为如果这样做,大多数情况下手柄绑定都会正确更新。

应用程序使用
{{{if}
模板中的语句是否有条件地显示/隐藏属性

像这样:

{{#if view.showStuff }}
    <p>{{view.myProperty1}}</p>
    <p>{{view.myProperty2}}</p>
    <p>{{view.myProperty3}}</p>
{{else}}
    <p>Not showing content</p>
{{/if}}
{{#if view.showStuff}
{{view.myProperty1}}

{{view.myProperty2}}

{{view.myProperty3}}

{{else} 不显示内容

{{/if}
如果
showtuff
为true,则将呈现属性,否则将显示其他html

示例

实际上,我对“belongsTo”属性执行了一个“set”(“property”,null)”,然后在随后的“this.get”(“list.@each.property”).forEach(函数(x){…处理x…})中得到了一个“x未定义”错误。所以,我认为这不是一个正确的答案。