我正在使用jquery,knockout和WCF。我正在通过Ajax请求加载来自WCF的数据并将数据推送到可观察的数组中。这个可观察的数组绑定到html表
<div style="overflow: hidden;" >
<table style="width: 100%" >
<thead>
<tr>
<th>Id </th>
<th>Name</th>
</tr>
</thead>
</table>
<div style="overflow: auto;height: 320px;">
<table id ="Table1" style="width: 100%;" >
<tbody data-bind="foreach: ListOfArray">
<tr data-bind= "click: showData">
<td data-bind="text: Id"></td>
<td data-bind="text: Name "></td>
</tr>
</tbody>
</table>
</div>
当我点击行时,选择它需要4-5秒。当我点击行时,我放置了探查器。这就是它显示的内容
有人能指出我在哪里放慢速度以及为什么?
答案 0 :(得分:0)
根据您的评论,当您的表现差时,您的HTML表格会显示“5000行”但“表现良好如果只有200行“。
通常,应用不会因内存限制以及您发现的对性能的影响而尝试显示大量项目(在本例中为5000)。
最常见的做法是只做分页,并一次显示20个项目上一页; 下一步和页码。
如果您不想分页,另一种方法是将您的表重新设计为虚拟表,其中您可以表示的项目数量没有限制(仅限虚拟视图)加载到内存可以看到的内容和不 off-screen )。感谢 Facebook上无休止的滚动。