我真的刚刚开始淘汰赛,到目前为止它非常令人印象深刻。有了这个,我还遇到了一个问题。
我正在尝试获取绑定对象的列表,当单击on时,我希望它采用该模型并将其绑定到另一个视图以进行进一步编辑,没有问题。我遇到的问题是我得到一个错误,说我无法多次绑定到同一个元素。我已经读过ko.cleanNode([domElement])
可以用来绕过它,但这真的是在内部使用。我做了一些搜索,人们提到你应该使用with
,但我不认为这适用于我想做的事情。
有没有办法应用绑定,但只是更新底层模型上下文?
简化jsfiddle示例。我的js代码从119开始,在它上面是ko映射插件。
答案 0 :(得分:2)
首先,使用外部资源为您的小提琴添加外部资源,而不是将它们粘贴到您的小提琴中。
其次,对于您的问题,执行此类操作的最简单方法是在视图模型中使用SelectedItem
属性并将子视图绑定到该属性。像这样:
var MyViewModel = function() {
var self = this;
self.MyItems = ko.observableArray();
self.SelectedItem = ko.observable();
}
var MyChildViewModel = function() {
var self = this;
self.SomeProperty = ko.observable();
}
现在使用MyItems
的实例填充MyChildViewModel
并将SelectedItem
设置为您希望作为孩子的MyItems
中的任何一项,并将子视图绑定到{{1} }}:
SelectedItem