首页 文章

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

提问于
浏览
0

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

尝试从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 回答

  • 0

    @Input() 之后发现我错过了 set 的错误 . 一个大错的错误 .

相关问题