我正在创建一个表单,其中用户将能够使用剔除js添加多行,每行将具有5 inputs
,并且用户可能会添加数百行。
对于每个输入,我想使用observable array并使它的属性也可观察。
因此,对于某些用户而言,页面上可能会有大约5000个可观察的属性。
这种方法是否会引起性能问题?会降低浏览器的速度吗?如果有的话,有什么方法可以防止它发生。
答案 0 :(得分:1)
我们正在使用带有observables的控件,它们的observableArrays可以在客户端保存20k多个记录,现在我们遇到了一些javascript / nockout墙。在使用5k的情况下,它仍然运行得很顺畅,但在很大程度上还取决于客户端的浏览器/硬件。
1个主要问题,同时更新了所有内容。数组是,如果您要迭代更改,它将挂起页面直到迭代结束。如果逻辑允许,您可以使用apply方法解决该问题。 Function.prototype.apply()
我想说的是,如果您100%确定不会超过5k,那就继续努力吧。但是说实话,如今您最好将大多数数据保留在服务器上,然后只检索那时所需的内容。