0
我剛開始一個項目,我正在嘗試爲我的viewmodel綁定使用knockout。但是我有一個問題,我無法讓視圖模型對選擇框視圖中的更改(通過手動訂閱)做出反應。Knockout手動訂閱不會被觸發
var viewModel = function() {
var self = this;
self.project = ko.observable();
self.contractBorders = ko.observable();
self.contractBorders.subscribe(function (newvalue) {
alert('something changed!');
});
};
viewModel.load = function() {
var data = {"project":{"name":"Project XYZ",
"number":338,"id":1,"isNew":false},"contractBorders":[{"name":"Border 1 grund","id":1},
{"name":"Border 2","id":2},{"name":"Border 3","id":3}]}
viewModel.loadView(data);
};
viewModel.loadView = function(data) {
self.project = ko.mapping.fromJS(data.project);
self.contractBorders = ko.mapping.fromJS(data.contractBorders);
ko.applyBindings(viewModel);
};
viewModel.load();
我希望執行「self.contractBorders.subscribe」,但它永遠不會發生。我是否完全錯了?
我創建了一個小提琴來重現問題here
任何幫助,將不勝感激!
/BR Vinblad
謝謝你,謝謝你,謝謝你。花了2天的時間解決這個問題! – Vinblad
快速跟進問題。是否有可能獲得選擇框更改爲的對象而不僅僅是項目的ID? – Vinblad
@Vinblad不在'