2

次のような基本ビューモデルがあります。

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() のメソッドをオーバーライドするにはどうすればよいですか?

ありがとうマーティン

4

1 に答える 1