我正在使用Knockout View模型和JQuery DataTables进行分页。有一个外部进程可以更改视图模型的基础值。但是,如果值在外部更改为“false”且特定项目不在当前页面上,则更改不会传播到UI。如果该项目位于当前页面上,则会更新确定。
可以找到 JSFiddle来说明问题here 。如果您转到第二页,然后单击“更改项目”(更改第11项),则复选框将更改为“确定”。但是,如果您重新运行JSFiddle并在第一页上单击该按钮,则它不会在第二页上正确更新复选框。
我用来更新项目的代码:
vm.itemsVM()[10].selected(false);
生成表格内容的代码:
<!-- ko foreach: itemsVM -->
<tr>
<td><input type="checkbox" data-bind="checked: $data.selected" /></td>
</tr>
<!-- /ko -->
我不确定为什么这不能正确更新,真的很感激一些帮助。谢谢:))