Следуя тому, что описано здесь: Загрузчик динамических компонентов.
Я хочу знать, как можно обрабатывать данные внутри этого класса HeroJobAdComponent:
import { Component, Input } from '@angular/core';
import { AdComponent } from './ad.component';
@Component({
template: `
<div class = "job-ad">
<h4>{{data.headline}}</h4>
{{data.body}}
</div>
`
})
export class HeroJobAdComponent implements AdComponent {
@Input() data: any;
}
Как видите, data - это объект, содержащий полученные данные. Я хочу иметь возможность определить конструктор для моего класса HeroJobAdComponent, но если я это сделаю, объект data будет undefined внутри моего конструктора. Вместо этого я попытался использовать ngOnChange, который предположительно выполняется после того, как ввод изменен с undefined на определенный, но он также не выполняется вообще.
Может ли кто-нибудь сначала объяснить, почему объект не определен, хотя данные определены в моем основном вызывающем его компоненте, и каков обходной путь для этой проблемы?
Это конструктор, который я использую:
constructor()
{
this.values = this.data.values;
this.spec_name = this.data.spec_name;
}
редактировать сделано @ Aer0



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


если вы хотите использовать какую-либо операцию при получении данных в своем компоненте, вы можете использовать сеттер
export class HeroJobAdComponent implements AdComponent {
_data;
@Input() set data (data: any){
//operation on data goes here
this._data=data
};
get data() {
return this._data;
}
}
Есть шанс показать нам свой конструктор?