Knockout.js 表单对浏览器性能的影响有数千个可观察对象
browser performance impact of Knockout.js form with thousands of observables
我正在创建一个表单,用户可以使用 knockout.js 添加多行,每行将有 5 inputs
,用户可能会添加数百行。
我想使用 observable array 并使其属性对于每个输入也可观察。
因此对于某些用户来说,页面上可能有大约 5000 个可观察的属性。
这种方法是否会引起任何性能问题?会减慢浏览器的速度吗?如果有的话,有什么方法可以防范吗
我们正在使用带有 observables en observableArrays 的控件,在客户端保存 20k+ 条记录,我们现在有点碰壁 javascript/knockout。对于 5k,它仍然非常顺利,但它也很大程度上取决于客户的 browser/hardware.
更新 obs 中的所有项目时出现 1 个主要问题。 array 是,如果您要迭代更改,它将挂起页面直到迭代结束。如果逻辑允许,您可以使用 apply 方法来解决这个问题。 Function.prototype.apply()
我会说,如果你 100% 确定它不会超过 5k,那就去做吧,它会起作用的。但老实说,现在您最好将大部分数据留在服务器上,只检索此时需要的数据。
我正在创建一个表单,用户可以使用 knockout.js 添加多行,每行将有 5 inputs
,用户可能会添加数百行。
我想使用 observable array 并使其属性对于每个输入也可观察。
因此对于某些用户来说,页面上可能有大约 5000 个可观察的属性。
这种方法是否会引起任何性能问题?会减慢浏览器的速度吗?如果有的话,有什么方法可以防范吗
我们正在使用带有 observables en observableArrays 的控件,在客户端保存 20k+ 条记录,我们现在有点碰壁 javascript/knockout。对于 5k,它仍然非常顺利,但它也很大程度上取决于客户的 browser/hardware.
更新 obs 中的所有项目时出现 1 个主要问题。 array 是,如果您要迭代更改,它将挂起页面直到迭代结束。如果逻辑允许,您可以使用 apply 方法来解决这个问题。 Function.prototype.apply()
我会说,如果你 100% 确定它不会超过 5k,那就去做吧,它会起作用的。但老实说,现在您最好将大部分数据留在服务器上,只检索此时需要的数据。