【问题标题】:knockout multiple viewmodels in a page not working敲除页面中的多个视图模型不起作用
【发布时间】:2013-12-12 22:44:10
【问题描述】:

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

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>

【问题讨论】:

    标签: mvvm knockout.js


    【解决方案1】:

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

    您可以做的是创建一个“包装器”视图模型并使用它调用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>
    

    演示JSFiddle.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 2013-09-02
      • 2014-06-10
      • 1970-01-01
      相关资源
      最近更新 更多