我刚刚开始了一个项目,我试图在我的视图模型绑定中使用敲除。但是我有一个问题,我无法让视图模型对选择框上的视图中所做的更改(通过手动订阅)做出反应。
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 文布拉德