如何正确通知我的observablearray刷新它在knockoutjs中的视图?

时间:2014-05-28 21:20:41

标签: javascript knockout.js

我现在遇到了KnockoutJs的问题。我是初学者,所以现在我责怪我的无知。

我在viewmodel中有一个可观察的数组。当任何一个孩子被更新时(我通过控制台验证他们实际上做了更改),我需要数组来触发视图的重排/刷新。

这就是原因。我的观点是基于孩子们创造了一个手风琴,因此涉及分组。如果孩子改变了它的组,它需要移动到不同的地方。

我确实看了这个SO How to force a view refresh without having it trigger automatically from an observable?

但是observable.valueHasMutated()没有做任何事情。没有错误,没有任何反应。

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

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

1 个答案:

答案 0 :(得分:1)

来自documentation

  

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

     

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

所以你需要建立你的"组" property observable并确保绑定处理程序在其update函数中读取observable。