我有一个组件,使用路由器级别的解析器在成功的数据解析时加载(路由) . 从服务器检索的数据将传递给子组件 . 数据被解析并相应地传递,但子组件抛出错误
尝试从undefined访问
.
场景:
父组件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;
}
});
}
儿童Compnent.ts
@Input() _data(value: any) {
this.data = value;
}
data: any;
子组件HTML
<p>{{data.name}}</p>
Route也已相应配置,我可以看到浏览器工具的网络选项卡中的数据 .
如果我遗失了什么,请告诉我 .
1 回答
在
@Input()
之后发现我错过了set
的错误 . 一个大错的错误 .