2016-11-28 60 views
0

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

+0

检查了这一点 - http://stackoverflow.com/questions/9892124/whats-the-best-way-链接同步视图模型在淘汰赛中 – gkb

+0

@gkb如何通过ID查找并更新?相同的ID在这两个视图模型中使用 – James

+1

我建议提供一些代码,提供您想要实现的一些特定任务.. – gkb

回答

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")); 
相关问题