Другой вариант - создать список имен общих свойств, а затем повторить его:
ли хороший способ сопоставить объекты с другими объектами? Рекомендации библиотеки тоже приветствуются.
Например, скажем, у меня есть эти классы:
export class Draft {
id: number;
name: string;
summary: string;
}
export class Book {
id: number;
name: string;
info: Info;
}
export class Info {
value: string;
}
Традиционно для отображения полей изDraft
вBook
Я должен был бы сделать это вручную для каждого поля:
export class Book {
[...]
fromDraft(Draft draft) {
this.id = draft.id;
this.name = draft.name;
this.info = new Info();
this.info.value = draft.summary;
}
}
Существует ли более простой способ сопоставления полей объекта, которые имеют одинаковые имена? НапримерDraft
а такжеBook
«sid
а такжеname
поля, а также возможность определить пользовательские сопоставления, как изdraft.summary
вbook.info.value
.
Обратите внимание, что это далеко от моего фактического варианта использования. Здесь не так уж плохо делать назначения вручную, но для объектов со многими одноименными полями это довольно хлопотно.
Спасибо!