Angular 2:在子组件中解析路由数据



我有一个组件,它是在使用路由器级别的解析器成功解析数据时加载(路由)的。从服务器检索到的数据将传递给子组件。数据被解析并相应地传递,但子组件抛出

错误。

试图访问未定义的

.

场景:

父组件HTML:

 <parent>
   <child [_data]="dataFromResolver"></child>
 </parent>
父Component.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>

路由也已相应配置,我可以在浏览器工具的网络选项卡中看到数据。

如果我错过了什么,请告诉我。

发现我在@Input()之后漏掉了set的错误。一个大错误。

相关内容

  • 没有找到相关文章

最新更新