0

我正在创建一个表单,用户将能够使用 knockout.js 添加多行,每行将有一个 5 inputs,并且用户可能会添加数百行。

对于每个输入,我想使用可观察数组并使其属性也可观察。

因此,对于某些用户来说,页面上可能有大约 5000 个可观察的属性。

这种方法是否会出现任何性能问题?会不会减慢浏览器的速度?如果有,是否有任何方法可以防止它。

4

1 回答 1

1

我们正在使用带有 observables en observableArrays 的控件,它在客户端保存 20k+ 条记录,现在我们遇到了一些 javascript/knockout 墙。使用 5k 它仍然非常顺利,但它也很大程度上取决于客户端的浏览器/硬件。

更新 obs 中的所有项目时出现 1 个主要问题。数组是,如果您要迭代更改,它将挂起页面直到迭代结束。如果逻辑允许,您可以使用 apply 方法来解决这个问题。Function.prototype.apply()

我会说,如果你 100% 确定它不会增长到 5k 以上,那就去做吧,它会起作用的。但老实说,现在你最好将大部分数据留在服务器上,然后只检索你需要的东西。

于 2019-06-11T07:15:28.193 回答