我正在生成这样的表:
<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
但那么性能呢?感谢您的任何见解。