ビューモデルのバインディングにノックアウトを使用しようとしているプロジェクトを開始しました。しかし、選択ボックスのビューで行われた変更に(手動サブスクリプションを介して)ビューモデルを反応させることができないという問題があります。
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」が実行されることを期待していますが、実行されることはありません。私はそれを完全に間違っていますか?
ここで問題を再現するためにフィドルを作成しました
どんな助けでもいただければ幸いです!
/BRヴィンブラッド