【问题标题】:Angular 2: Route data resolution in child componentAngular 2:子组件中的路由数据解析
【发布时间】:2017-03-06 07:35:09
【问题描述】:

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

错误

试图从未定义访问

.

场景:

父组件 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>

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

如果我遗漏了什么,请告诉我。

【问题讨论】:

    标签: angular angular2-routing angular2-components


    【解决方案1】:

    @Input() 之后发现我错过了set 的错误。大错特错。

    【讨论】:

      猜你喜欢
      • 2017-10-19
      • 2017-01-14
      • 2016-03-21
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      相关资源
      最近更新 更多