Knockout JS div绑定相当大的文本使浏览器挂起

时间:2015-03-22 14:21:11

标签: javascript dom knockout.js

当使用knockout渲染带有非常大字符串的div时,我看起来是一个浏览器挂起的问题。

HTML:

<div data-bind="foreach: datas">
    <div   data-bind="jsontext: Info"></div>
</div>

JS:     datas是一个数组。它只有1-2个元素。但是,datas [0] .Info是一个字符串,非常大,长度可能超过2百万。在渲染&#34;信息&#34;部分,浏览器将挂起。

您对如何解决此问题有任何建议吗?似乎DOM dov无法呈现非常大的文本。如果你可以向我推荐一些JS插件,那么它可以获得只加载屏幕的效果,如果我们需要更多,可以向上或向下滚动。

1 个答案:

答案 0 :(得分:0)

答案是:

  1. 当文本非常大时,jsontext将挂起。而data-bind =&#34; text:TextInfo&#34;没关系
  2. 我使用一些背景逻辑来判断,如果长度是> 20000,然后我们jasontext,否则我只显示部分内容,并提供用户下载功能,以查看完整内容。