Ich habe eine Komponente, die bei erfolgreicher Datenauflösung mithilfe von Resolvern auf Router-Ebene geladen (geroutet) wird. Die vom Server abgerufenen Daten müssen an die untergeordneten Komponenten übergeben werden. Die Daten werden aufgelöst und dementsprechend vergangen, aber untergeordnete Komponente wirft einen Fehler vonAngular 2: Routendatenauflösung in untergeordneter Komponente
für den Zugriff von undefined
versucht
.
Szenario:
geordnete Komponente HTML:
<parent>
<child [_data]="dataFromResolver"></child>
</parent>
Eltern Component.ts
export class Parent implements OnInit {
dataFromResolver: any;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
this.route.data.forEach((data: any) => {
this.dataFromResolver = data;
});
}
}
Resolver Service:
resolve(route: ActivatedRouteSnapshot): Observable<boolean | any> {
return this.parentService.getData().map(output => {
if (output) {
return output;
} else {
this.router.navigate(['/login']);
return false;
}
});
}
Kinder Compnent.ts
@Input() _data(value: any) {
this.data = value;
}
data: any;
Child Component HTML
<p>{{data.name}}</p>
Strecke hat auch dementsprechend, und ich kann Daten sehen in Netzwerk-Registerkarte Browser-Tools konfiguriert kommen.
Bitte lassen Sie mich wissen, wenn etwas fehlt mir etwas.