我正在使用Knockout.js处理主详细信息视图。基本上,一切都运行正常,有一个小缺点:每当更改详细视图中当前显示的项目时,主人不会相应地更新自己。
基本上,我理解为什么会这样:
ko.observableArray
,因此它只跟踪插入和删除项目。它不会对更新的项目做出反应。ko.observable
,这是详细视图的基础。现在的问题是如何以优雅和正确的方式处理这个问题?
我现在可以想到两种可能的解决方案:
ko.observable
中。这样,它将检测详细信息视图中所做的任何更改并相应地更新UI。JSON.parse(JSON.stringify(...));
和replace()
使用克隆对象“复制”编辑的项目。由于现在已删除并在内部插入对象,因此阵列会检测更改并更新UI。问题:
有更好的想法吗?
答案 0 :(得分:1)
恕我直言 - 我不可能永远不会知道所有的表现问题。您解释的第一个解决方案很简单,可以做您想做的事。另一种可能的方法是将包含标签的重新绑定到ko.computed(...)。