我在页面中有两个单独的 View 模型
function AModel() {
...
}
function BModel() {
...
self.testValue= ko.observable('test')
}
$(document).ready(function() {
var AModel1= new AModel();
var BModel1= new BModel();
ko.applyBindings(AModel1);
ko.applyBindings(BModel1);
});
现在在html页面
我如何使其工作?
<span data-bind="text: BModel1.testValue" ></span>
最佳答案
自KO 2.3起,您不应在同一DOM元素上多次调用ko.applyBindings
,这可能会导致问题或引发异常。
您可以做的是创建一个“包装” View 模型,并使用它调用ko.applyBindings
:
$(document).ready(function() {
var AModel1= new AModel();
var BModel1= new BModel();
ko.applyBindings({ AModel1: AModel1, BModel1: BModel1 });
});
然后,您可以使用 View :
<span data-bind="text: BModel1.testValue" ></span>
演示JSFiddle。
关于mvvm - knockout 页面中的多个 View 模型不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20239969/