如何避免在计算数组中绑定 table 敲除
How to avoid binding table knockout in computed array
我有一个 Table,我在其中加载 arrayA 的值,其中一个是 ko.computed 数组,哪个取决于另一个 arrayB 的值。
当我删除数组 B 的一个元素时,arrayA 会自动更新为 arrayB 的新值。
问题出现在例如:
<tbody data-bind="foreach: arrayA()">
<tr><td data-bind="text: $data.value"></td></tr>
</tbody>
javascript:
arrayB.remove(data);
当我在 html 中执行此操作时,table 会重新加载 arrayA 的先前值(未删除元素)+ ArrayA 的新值。
如何避免使用 arrayA 的先前值 + 计算出的 arrayA 新值重新加载 table?我只想重新加载计算 arrayA 的新值而没有以前的内容。
如果您创建一个 ko.computed
,它会成为一个依赖的可观察对象,因此对计算正在监视的可观察对象所做的任何更改都会导致它更新。这就是它设计的工作方式,它被称为依赖链。
我建议寻找一种替代解决方案,该解决方案不使用计算的可观察量来实现您正在寻找的内容。
http://knockoutjs.com/documentation/computedObservables.html
我有一个 Table,我在其中加载 arrayA 的值,其中一个是 ko.computed 数组,哪个取决于另一个 arrayB 的值。
当我删除数组 B 的一个元素时,arrayA 会自动更新为 arrayB 的新值。
问题出现在例如:
<tbody data-bind="foreach: arrayA()">
<tr><td data-bind="text: $data.value"></td></tr>
</tbody>
javascript:
arrayB.remove(data);
当我在 html 中执行此操作时,table 会重新加载 arrayA 的先前值(未删除元素)+ ArrayA 的新值。
如何避免使用 arrayA 的先前值 + 计算出的 arrayA 新值重新加载 table?我只想重新加载计算 arrayA 的新值而没有以前的内容。
如果您创建一个 ko.computed
,它会成为一个依赖的可观察对象,因此对计算正在监视的可观察对象所做的任何更改都会导致它更新。这就是它设计的工作方式,它被称为依赖链。
我建议寻找一种替代解决方案,该解决方案不使用计算的可观察量来实现您正在寻找的内容。
http://knockoutjs.com/documentation/computedObservables.html