В последнее время я использую Knockout.js для многих проектов, и я пишу много повторяющегося кода. Я хотел бы иметь возможность определить класс BaseViewModel
и унаследовать от него мои ViewModels, специфичные для этой страницы. Я немного смущен о том, как это сделать - 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. Возможно ли это? Я нашел несколько решений в Интернете, но все они полагаются на определение функций/классов, чтобы заставить наследование работать.