После этого урока , точного решения n 2, я попытался передать асинхронные данные дочернему компоненту следующим образом:
Родительский компонент ts:
ngOnInit() {
this.route.queryParams.subscribe(params => {
this.networkService.getAttivitaById(this.idAttivita).subscribe((att:Attivita[]) => {
this.attivita = att[0];
})
}
html родительского компонента:
<app-dettaglio-attivita [attivita]="attivita" [isModifica]="isModifica" [intervento]="intervento"></app-dettaglio-attivita>
А потом дочерний компонент:
@Input() attivita: Attivita;
[...]
ngOnChanges(changes: SimpleChanges) {
if(changes['attivita']){
this.initPage();
console.log("LOADED " + this.attivita.id);
}
}
Когда я захожу на страницу, в консоли она печатается в следующем порядке:
не может прочитать свойство 'id' из неопределенного
ссылаясь на строку console.log("LOADED " + this.attivita.id);
и сразу после меня:
Кажется, в два раза поймать изменение. Но каковы два изменения? В учебнике нет ни слова об этом. Как я могу справиться с этим без ошибки?