我正在为我的项目使用Ember.js,我必须删除所有内容或将""
或null
的每个属性设置为Ember.Object
。
所以正在发生的事情是,在模板中,有一些把手标签链接到一些对象属性({{myProperty}}
),所以当对象被清空或每个属性设置为""
或null
,如果属性更新为新值,则此绑定应该仍然存在。
有没有办法实现这个目标?有没有办法可以快速遍历所有属性?
答案 0 :(得分:4)
(开始写这样认为eachAttribute
是Ember.Object
上的一种方法,但它在DS.Model
上。所以......)
如果您的对象恰好是Ember Data DS.Model
实例,则有eachAttribute
方法,该方法采用回调函数。所以,你建议做的一种方法可能是:
modelobj.eachAttribute(function(propName){
modelobj.set(propName, null);
});
唯一想到的另一个想法是实例化对象的新“空白”实例,并将其分配给旧对象...我认为把手绑定会在大多数情况下正确更新如果你这样做了。
答案 1 :(得分:1)
您的应用程序是否可以在模板中使用{{#if}}
语句来有条件地显示/隐藏您的属性?
喜欢这样:
{{#if view.showStuff }}
<p>{{view.myProperty1}}</p>
<p>{{view.myProperty2}}</p>
<p>{{view.myProperty3}}</p>
{{else}}
<p>Not showing content</p>
{{/if}}
如果showStuff
为真,那么您的属性将被渲染,否则它将显示另一个html。