Редактировать: Оказывается, моя проблема была ошибкой ID10T. Я скопировал одно из определений конкретного класса, но забыл изменить имя. JavaScript счастливо позволяет мне переопределить объект без каких-либо методов, связанных с нокаутом. D'Oh!Наследование нонаут плюс сопоставление
Этот вопрос основывается на ответе на другой Knockout/inheritance question. Используя ответ на этот вопрос, я смог создать базовую иерархию. Тем не менее, я хочу использовать плагин отображения, как обычно, с объектными данными. Однако, когда я пытаюсь использовать сопоставление, мой дочерний класс нокаута не ведет себя так, как должен.
Вот срубить немного кода:
tubs.Gen2Event = function (data) {
var self = this;
//...Set a bunch of props...
return self;
}
tubs.Gen2LandedEvent = function (data) {
var self = this;
ko.utils.extend(self, new tubs.Gen2Event(data));
// If I exclude the following mapping call, the object is fine
ko.mapping.fromJS(data, {}, self);
//...Other methods that worked fine before mapping...
}
Я знаком с пользовательским отображением, но от того, что я могу найти, кажется, что это означало для тонкой настройки дочерних свойств, не модифицируя цельные объект.