用视图替换表行

时间:2012-08-27 09:25:20

标签: ember.js handlebars.js

我正在生成这样的表:

<div class="table zebra-striped selectable">
    {{#each "App.accidentsController.content"}}
        {{view App.AccidentView contentBinding="this"}}
    {{/each}}
</div>

其中App.AccidentView是这样的:

<div {{action tbodyClick this target='this'}} class="tr accident">
    <div class="td w03pr">{{unbound [1]}}</div>
    <div class="td">{{unbound [3]}}</div>
    <div class="td">{{unbound [4]}}</div>
</div>

我正在考虑性能问题,因为行数可能有数百甚至数千,所以我没有使用绑定行,而且目前没有认真考虑ContainerView(或者我应该?)。在我使用行数据操作后,我只想替换所有行的html。我有一个行模板和它的上下文,我认为最简单有效的方法就是用新的替换行html,我可以按照这样的文档做:

var newView=App.AccidentView.create(newContext);
newView.appendTo('div.table');

但是append还不够,我需要它而不是旧行 - 就像jQuery的replaceWith。所以我的问题是这样做的正确方法是什么 - 以某种方式修剪tr视图标签或使用ContainerView但那么性能呢?感谢您的任何见解。

0 个答案:

没有答案