【发布时间】:2015-06-14 19:46:36
【问题描述】:
我有一个表,我在其中加载 arrayA 的值,其中一个是 ko.computed Array,哪个取决于其他 arrayB 的值。
当我删除数组 B 的一个元素时,数组 A 会自动更新为数组 B 的新值。
问题是例如:
<tbody data-bind="foreach: arrayA()">
<tr><td data-bind="text: $data.value"></td></tr>
</tbody>
javascript:
arrayB.remove(data);
当我在 html 中执行此操作时,表格会重新加载 arrayA 的先前值,而不会删除元素 + ArrayA 的新值。
如何避免使用 arrayA 的先前值 + 计算的 arrayA 的新值重新加载表?我只想重新加载计算出的 arrayA 的新值,而不需要以前的内容。
【问题讨论】:
-
你能给我们一个工作小提琴吗?
-
能否请您包含所有相关代码?我的第一个猜测是,您的
ko.computed中有一些可疑之处。 -
很抱歉,我的代码很长。我有 1 个 ajax 调用,其中一个调用使用 mapping.fromJS 的映射来恢复构建的 observableArray,其中构建了 arraycomputed。
-
恐怕没有它,我们无法为您提供帮助。请以 JSFiddle 或嵌入式 sn-p 的形式提供您的代码的最小摘录。除此之外 -
foreach: arrayA()应该是foreach: arrayA。你想让你的foreach访问你的computed本身,而不是computed的结果。
标签: knockout.js