【发布时间】:2012-12-11 18:07:37
【问题描述】:
我正在尝试更改绑定到 DOM 模板某些部分的视图模型(而不是更改视图模型的值),但我只是不知道如何或是否可能
这是场景:
- 创建一个新的视图模型对象
- 绑定它(例如 applyBindings(myViewModel)
- 创建另一个视图模型对象
- 将新对象绑定到 DOM 的同一部分,以便所有元素现在都绑定到新对象。
我想做相当于改变 WPF 中控件的 DataContext 的值(KO 的 MVVM 模式所基于的)
这样做的原因是我试图对列表中对象的表示和对象在其自己视图中的表示使用相同的视图模型,所以我已经有一个所有对象的视图模型显示在列表中。
还有其他解决方法,但我认为这是最优雅的方法。
【问题讨论】:
-
你能在 jsfiddle 中显示你的 js 代码吗?
-
当然。 jsfiddle.net/e29EZ/1打开js控制台可以看到回调执行了两次。另一个小提琴 jsfiddle.net/e29EZ/6 正在使用 cleanNode(感谢下面的 nathan gonzález),但它仍在执行两次回调。
标签: javascript mvvm knockout.js