У меня есть такой объект:
export class Foo {
prop1: string;
prop2: boolean;
get computedProp() {
return 'some computed data';
}
constructor(init?: Partial<Foo>) {
Object.assign(this, init);
}
}
export class Bar {
propA: any;
propFoo: Foo;
constructor(init?: Partial<Bar>) {
this.propFoo = new Foo();
Object.assign(this, init);
}
}
, который я бы использовал следующим образом:
export class MyComponent {
private _propBar: Bar;
get propBar() {
return this._propBar;
}
@Input propBar(value: Bar) {
// value is a json data fetched from api for example
this._propBar = new Bar(value);
}
}
Это должно создать новый объект Bar () и дать мне доступдля всех свойств, но свойство Foo построено неправильно, поэтому computedPro
недоступен и выдает ошибку в привязке данных в html.
Я пробовал пакет https://www.npmjs.com/package/class-transformer?activeTab=readme, но безрезультатный результат.
Есть идеи? Чего мне не хватает?
Спасибо
Я создаю этот стек, чтобы проиллюстрировать проблему: https://stackblitz.com/edit/angular-xtgu6v?file=src%2Fapp%2Fapp.component.ts