У меня есть модель базы нокаута для работы со списками, с общей функциональностью (пейджинг, сортировка и т.д.):Лучшая практика повторного использования нокаута модели
ListViewModel.js:
function ListViewModel() {
var self = this;
self.Items = ko.observableArray();
// other props and methods
}
return ListViewModel;
Теперь, Я хочу повторно использовать (наследовать) эту модель для конкретного класса UsersListViewModel. Какой лучший способ (принятие к нокауту) сделать это? Создать ListViewModel внутри UsersListViewModel или расширить ListViewModel с новым полем и методами?
Теперь я создал объект ListViewModel внутри UsersListViewModel, но я не люблю это:
UsersListViewModel:
function UsersListViewModel(model) {
var self = this;
self.List = new ListViewModel();
self.IsInitialized = ko.observable(false);
}
return UsersListViewModel;
Спасибо, ваше предложение с применением очень хорошее. – alexmac
Применяет ли копирование всех наблюдаемых к пройденной ссылке? – Nishanthan
@Nish Yup, он должен создавать свойства для UsersListViewModel для всех свойств, объявленных в ListViewModel. – pax162