我现在遇到了KnockoutJs的问题。我是初学者,所以现在我责怪我的无知。
我在viewmodel中有一个可观察的数组。当任何一个孩子被更新时(我通过控制台验证他们实际上做了更改),我需要数组来触发视图的重排/刷新。
这就是原因。我的观点是基于孩子们创造了一个手风琴,因此涉及分组。如果孩子改变了它的组,它需要移动到不同的地方。
我确实看了这个SO How to force a view refresh without having it trigger automatically from an observable?
但是observable.valueHasMutated()
没有做任何事情。没有错误,没有任何反应。
如果有人有一个我可以学习或解决的工作实例,那就太棒了。
我会发布我的代码(如果我可以让它变得足够简单,我可能会稍后),但遗憾的是,考虑到应用程序的设计,它并不像听起来那么容易。
答案 0 :(得分:1)
关键点:observableArray跟踪数组中的对象,而不是那些对象的状态
简单地将对象放入observableArray并不会使该对象的所有属性本身都可观察到。当然,如果您愿意,您可以观察这些属性,但这是一个独立的选择。 observableArray只跟踪它所拥有的对象,并在添加或删除对象时通知侦听器。
所以你需要建立你的"组" property observable并确保绑定处理程序在其update
函数中读取observable。