【发布时间】:2012-06-16 00:47:54
【问题描述】:
我正在尝试找出使用 KnockoutJS 的最佳方法,我需要您的建议。
我的视图模型包含一组“文档”,每个文档都有一组“值”。 每个“文档”都使用以下模板呈现为单独的表格:
<div data-bind="foreach: Documents">
<table data-bind="foreach: Values">
<tr data-bind="foreach: $data">
<td data-bind="attr: {colspan: Colspan}">
<label data-bind="text: Label"></label>
<br />
<span data-bind="html: Value"></span>
</td>
</tr>
</table>
</div>
除了视图模型很大时,一切正常。
例如,如果视图模型的大小约为 1 兆字节(包含 80 个文档,每个文档有 60 个值),那么在我的机器上渲染需要两分钟以上。
我想知道是否有办法显着提高性能...或者放弃 Knockout 并在服务器端构建 html 并将其推送到浏览器会更快...
渲染“仅”300kb 的视图模型需要将近 30 秒。
“文档”是由用户定义的,所以甚至有 >2 兆字节的场景(我不知道他们为什么这样做)。
有人在 JavaScript 中使用过大视图模型吗?
【问题讨论】:
标签: javascript performance knockout.js