我第一次与Knockout合作,我正在与一个可观察者进行斗争。我在一个视图模型中声明了它,我需要访问另一个模型中的值。关于如何去做的任何提示?
答案 0 :(得分:0)
首先在共享范围内声明您的第一个模型,然后是第二个。如果您在第二个模型中执行类似myfirstmodel.myobservable()
的操作,则应该看到它并与之交互。
var myModel = whatever();
var mySndModel = whateverElse();
ko.applyBindings(myModel, document.getElementById('whatever'))
ko.applyBindings(mySndModel, document.getElementById('whateverElse'))
whateverElse
是您的第二个模型的构造函数,您可以在其中调用myModel.myObservable()
答案 1 :(得分:0)
你需要做的是继承parentViewModel
function parentViewModel() {
// Just a best practice potato here :P
var self = this;
// Initialize the childViewModel change it's 'this'
childViewModel.call(self);
self.observable = ko.observable();
}
function childViewModel() {
var self = this;
console.log(self); // It will output the parentViewModel scope
}