我需要将两个敲除视图模型绑定到一个视图。我已经阅读了这样的例子和优惠
var viewModel1 = function(){
var self = this;
self.firstName = ko.observable();
self.lastName = ko.observable();
self.fullName = ko.computed(function(){
return self.firstName + " " + self.lastName;
});
};
var viewModel2 = function(){
var self = this;
self.premium = ko.observable();
};
ko.applyBindings(new viewModel1(), document.getElementById("container1"));
ko.applyBindings(new viewModel2(), document.getElementById("container2"));
但我的viewmodel位于单独的js文件中。如何将它们绑定到视图?例如
<script>
$(function() {
window.viewModal1 = new CandidatesViewModal();
window.viewModal2 = new CandidatesViewModal();
});
ko.applyBindings(viewModal1 , $('#viewModal1 ').get(0));
ko.applyBindings(viewModal2 , $('#viewModal2 ').get(0));
</script>
但这种方法不起作用。感谢您的帮助。
答案 0 :(得分:3)
您应该创建一个容器视图模型,例如像这样:
var container = {
vm1: new viewModel1(),
vm2: new viewModel2()
}
ko.applyBindings(containerVm);
并相应调整您的观点。