我有一个两级深度数据模型,我想用Ember.js作为嵌套列表显示。如果我做简单的版本它表现得很好:
{{#each parent in content}}
<p>Table {{parent.id}}</p>
<ul>
{{#each item in parent.children}}
<ul>
<li>{{item.position}}</li>
<li>{{item.position}}</li>
<li>{{item.position}}</li>
</ul>
{{/each}}
</ul>
{{/each}}
http://jsfiddle.net/krumpi/TdZJG/
但是,如果不是将模型的属性显示为原始字符串,而是使用嵌套的Ember.Select和Ember.TextArea视图,性能会受到很大影响,在按下加载按钮以显示页面中的控件后需要花费很多时间:
{{#each parent in content}}
<ul>
{{#each item in parent.children}}
<ul>
<li>pos: {{item.position}}</li>
<li>
{{view Ember.Select
class="input-small"
contentBinding="App.CheckValues"
selectionBinding="item.status"}}
</li>
<li>{{view Ember.TextArea class="textarea-animated" name="description" valueBinding="item.comment"}}</li>
</ul>
{{/each}}
</ul>
{{/each}}
http://jsfiddle.net/krumpi/wtwHN/
您对如何提高性能有任何建议吗?这是通过ember-1.0.0-pre4
完成的答案 0 :(得分:0)
不使用Ember select和textarea视图,而是使用普通的html标记并仅绑定属性。这些视图通常占用更多内存,并且将它们写入嵌套结构中会导致代码运行缓慢。