[英]How do I update an observable from one namespaced viewModel to another
This does not work, it sets the defaultView as "bar", but then never updates to "foo" when the ajax request is completed. 这不起作用,它将defaultView设置为“bar”,但是当ajax请求完成时,永远不会更新为“foo”。 I tried to set this as a dependentObservable but didn't have any more luck. 我试图将它设置为dependentObservable,但没有更多的运气。 Am I missing something obvious or am I trying to stretch namespaces too far? 我错过了一些明显的东西,还是我试图将命名空间拉得太远?
$.get("/players/summary", function(json) {
var playerViewModel = ko.mapping.fromJS(json);
dateViewModel.defaultDate = "foo";
ko.applyBindings(playerViewModel, 'player');
});
var dateViewModel = {
defaultDate: ko.observable("bar")
};
ko.applyBindings(dateViewModel, 'date');
You are not setting "foo" correctly. 你没有正确设置“foo”。 You should write: 你应该写:
dateViewModel.defaultDate("foo");
So you have: 所以你有了:
$.get("/players/summary", function(json) {
var playerViewModel = ko.mapping.fromJS(json);
dateViewModel.defaultDate("foo"); // <--- Set foo using getter setter syntax
ko.applyBindings(playerViewModel, 'player');
});
var dateViewModel = {
defaultDate: ko.observable("bar")
};
ko.applyBindings(dateViewModel, 'date');
This should fix it, but if you still have problems then I would look at definining dateViewModel
before your $.get
call. 这应该解决它,但如果你仍然有问题,那么我会在你的$.get
调用之前看看definining dateViewModel
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.