knockout.js - 当项目不可观察时刷新observableArray

标签 knockout.js

基本上,我有一个observableArray,并且每个项目的值都不是可观察的。这意味着当我更改项目值时,observableArray的foreach循环中的UI不会相应更新。

如果必须将它们设置为Observable,则意味着进行了巨大的更改,那么有没有一种方法可以手动刷新UI或observableArray foreach?

最佳答案

是的,您可以为数组调用valueHasMutated函数:

yourArray.valueHasMutated();

编辑:
如果首先没有帮助,则可以执行“脏”刷新:
self.refresh = function(){
    var data = self.array().slice(0);
    self.array([]);
    self.array(data);
};

这是工作提琴:http://jsfiddle.net/vyshniakov/FuEy6/2/

关于knockout.js - 当项目不可观察时刷新observableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231738/

相关文章:

knockout.js - Knockout 验证插件 - 仅在表单提交时显示错误消息

javascript - knockout 所选选项绑定(bind)

javascript - 使用 localStorage 中的存储值加载 Knockout Observable

javascript - 模板内的 Knockout 自定义绑定(bind)处理程序

mvvm - 使用kickout.js将Click事件从一个 View 模型传递到另一个 View 模型

javascript - 创建一个工厂函数来创建 ko.compulated

javascript - 无法读取未定义的属性 'router'并且ko未在knockout JS中定义

javascript - knockout foreach - 设置 attr

c# - 使用 ajax 将 Knockout.js View 模型发布到 ASP.NET MVC Controller 操作会导致空值

html - 选择行时突出显示表格单元格