如何使用knockout在单个页面中绑定多个视图模型?

Xer*_*xes 4 knockout.js

我想使用knockout将我的页面设置为单页面应用程序,我已将其拆分,如下图所示,但不知道如何将多个viewModel绑定到同一个html页面. 在此输入图像描述

Ric*_*thy 9

您可以使用ko.applyBindings(viewModel, element)不同的ViewModel将绑定应用于不同的元素,如下所示:您不能将多个viewModel绑定到同一个元素,否则knockout会抛出错误.

// Element
var element = document.getElementById('myElement');
ko.applyBindings(new MyViewModel(), element);

// Element 1
var element1 = document.getElementById('myElement1');
ko.applyBindings(new MyViewModel1(), element1);
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多相关信息:

http://knockoutjs.com/documentation/observables.html