次のような基本ビューモデルがあります。
var myApp = myApp || {};
myApp.BaseViewModel = function () {
self = this;
self.var1 = ko.observable();
self.messageToSay = Function() {
alert("in Base view model");
};
self.sayMessage = function() {
self.messageToSay();
}
};
そして、次のように BaseViewModel から継承するビューモデルがあります。
var myApp = myApp || {};
myApp.HomeViewModel = function() {
var self = this;
ko.utils.extend(self. new myApp.BaseviewModel());
self.messageToSay = Function() {
alert("in Home view model");
};
};
var vm = new myApp.HomeViewModel();
ko.applyBindings(vm, vm);
問題は、vm.sayMessage() を実行すると、常に「ホーム ビュー モデル内」ではなく「ベース ビュー モデル内」が返されることです。HomeViewModel の messageToSay() メソッドを取得して、BaseViewModel() のメソッドをオーバーライドするにはどうすればよいですか?
ありがとうマーティン