Javascript 我如何正确地通知ObservalArray刷新它';在knockoutjs中的视图是什么?

Javascript 我如何正确地通知ObservalArray刷新它';在knockoutjs中的视图是什么?,javascript,knockout.js,Javascript,Knockout.js,我现在对KnockoutJs有意见。我是个初学者,所以现在我把责任归咎于我的无知 我在viewmodel中有一个可观察的数组。当任何子级被更新时(我通过控制台验证它们确实发生了更改),我需要数组触发视图的回流/刷新 原因如下。我的观点是根据孩子们创作手风琴,所以需要分组。如果一个孩子改变了他的小组,他需要搬到另一个地方 我是这么做的 但是observable.valueHasMutated()没有任何作用。没有错误,只是什么也没发生 如果有人有我可以学习的工作实例或解决方案,那就太棒了 我会发布

我现在对KnockoutJs有意见。我是个初学者,所以现在我把责任归咎于我的无知

我在viewmodel中有一个可观察的数组。当任何子级被更新时(我通过控制台验证它们确实发生了更改),我需要数组触发视图的回流/刷新

原因如下。我的观点是根据孩子们创作手风琴,所以需要分组。如果一个孩子改变了他的小组,他需要搬到另一个地方

我是这么做的

但是
observable.valueHasMutated()
没有任何作用。没有错误,只是什么也没发生

如果有人有我可以学习的工作实例或解决方案,那就太棒了

我会发布我的代码(如果我能让它变得足够简单的话,我以后可能会发布),但不幸的是,考虑到应用程序的设计,这并不像听起来那么简单

来自:

关键点:ObservalArray跟踪数组中的对象,而不是这些对象的状态

简单地将一个对象放入observableArray并不能使该对象的所有属性本身都可见。当然,如果您愿意,您可以使这些属性可见,但这是一个独立的选择。observableArray只跟踪它持有的对象,并在添加或删除对象时通知侦听器


因此,您需要使“组”属性可观察,并确保绑定处理程序在其
update
函数中读取可观察内容。

您可以在ObservalArray上调用valueHasMutated,也可以使用扩展器订阅子Observales上的更改。在重构代码后,我设法使其正常工作。不确定到底是什么解决了这个问题,但我会给你的答案打分。