2016-11-28 59 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")); 
相關問題