私は最近、多くのプロジェクトで Knockout.js を使用しており、多くの繰り返しコードを書いています。BaseViewModel
クラスを定義して、ページ固有の ViewModel をクラスから継承できるようにしたいと考えています。これをJavascriptで行う方法について少し混乱しています。これが私の基本BaseViewModel
です:
(function (ko, undefined) {
ko.BaseViewModel = function () {
var self = this;
self.items = ko.observable([]);
self.newItem = {};
self.dirtyItems = ko.computed(function () {
return self.items().filter(function (item) {
return item.dirtyFlag.isDirty();
});
});
self.isDirty = ko.computed(function () {
return self.dirtyItems().length > 0;
});
self.load = function () { }
};
}(ko));
load
のようにメソッドのシグネチャを一覧表示BaseViewModel
し、継承する ViewModel でそれらの定義を提供できるようにしたいと考えています。これは可能ですか?オンラインでいくつかの解決策を見つけましたが、それらはすべて関数/クラスを定義して継承を機能させることに依存しています。