У меня есть компонент, который загружается (маршрутизируется) при успешном разрешении данных с использованием преобразователей на уровне маршрутизатора. Данные, полученные с сервера, должны быть переданы дочерним компонентам. Данные разрешаются и соответственно передаются, но дочерний компонент выдает ошибку
попытка доступа из неопределенного
.
Сценарий:
HTML-код родительского компонента:
<parent>
<child [_data]="dataFromResolver"></child>
</parent>
Родительский компонент .ts
export class Parent implements OnInit {
dataFromResolver: any;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
this.route.data.forEach((data: any) => {
this.dataFromResolver = data;
});
}
}
Служба разрешения:
resolve(route: ActivatedRouteSnapshot): Observable<boolean | any> {
return this.parentService.getData().map(output => {
if (output) {
return output;
} else {
this.router.navigate(['/login']);
return false;
}
});
}
Дочерний компонент.ts
@Input() _data(value: any) {
this.data = value;
}
data: any;
Дочерний компонент HTML
<p>{{data.name}}</p>
Маршрут также был настроен соответствующим образом, и я вижу данные, поступающие на вкладку сети инструментов браузера.
Пожалуйста, дайте мне знать, если я что-то упустил.