如何在Knockout中更新另一个视图模型中的视图模型数据

时间:2016-11-28 08:41:15

标签: javascript asp.net knockout.js

我正在使用Knock来绑定页面中的不同部分。我有每个部分的两个视图模型数据。在基于想要更改另一个视图中的另一个元素的一个视图模型中更改元素时,每个视图模型数据都有ID字段来标识每个数据。

1 个答案:

答案 0 :(得分:2)

您只需将其中一个视图模型传递到另一个视图模型:

var ViewModel1 = function() {
    var self = this;
    self.selectedItem = ko.observable();
};

var ViewModel2 = function(viewModel) {
    self = this;
    self.content = ko.observable();
    viewModel.selectedItem.subscribe(function(){
       self.content('value changed')
    });
};


var viewModel1 = new ViewModel1();
var viewModel2 = new ViewModel2(viewModel1);

ko.applyBindings(viewModel1, document.getElementById("part1"));
ko.applyBindings(viewModel2, document.getElementById("part2"));