在通知订阅者之前,KnockoutJS observableArray是否在旧数组和新数组之间做差异?

时间:2013-06-20 18:22:39

标签: javascript knockout.js

我正在使用KnockoutJS库,我无法弄清楚一件事:KnockoutJS是否通知订阅者observableArray是否使用包含完全相同值的不同数组进行更新(例如旧阵列?)

1 个答案:

答案 0 :(得分:2)

答案是它在通知订阅者之前不会以任何方式检查数组。 Knockout包含一个实用程序函数ko.utils.compareArrays,它比较两个数组并返回差异。它由ko.utils.setDomNodeChildrenFromArrayMapping在内部使用,而foreach绑定又使用它。