Mvvm 在一个不工作的页面中删除多个viewmodels

Mvvm 在一个不工作的页面中删除多个viewmodels,mvvm,knockout.js,Mvvm,Knockout.js,我在一个页面中有两个独立的视图模型 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); }

我在一个页面中有两个独立的视图模型

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>

您不应该在同一个DOM元素上多次调用
ko.applyBindings
,这可能会导致问题或自ko 2.3以来的异常

您可以创建一个“包装器”viewmodel并使用它调用
ko.applyBindings

$(document).ready(function() {
    var AModel1= new AModel();
    var BModel1= new BModel();
    ko.applyBindings({ AModel1: AModel1, BModel1: BModel1 });
}); 
然后您可以使用您的视图:

<span data-bind="text: BModel1.testValue" ></span>


演示。

您不应该在同一DOM元素上多次调用
ko.applyBindings
,这可能会导致问题或ko 2.3之后的异常

您可以创建一个“包装器”viewmodel并使用它调用
ko.applyBindings

$(document).ready(function() {
    var AModel1= new AModel();
    var BModel1= new BModel();
    ko.applyBindings({ AModel1: AModel1, BModel1: BModel1 });
}); 
然后您可以使用您的视图:

<span data-bind="text: BModel1.testValue" ></span>

演示