2016-10-24 25 views
0

我有一個在路由器級使用解析器成功解析數據時加載(路由)的組件。從服務器檢索到的數據將傳遞給子組件。數據得到解決,因此通過,但子組件從不確定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> 

路線也進行了相應配置,我可以看到在瀏覽器工具,網絡標籤數據的到來。

請讓我知道是否有任何我缺少的東西。

回答

0

發現我錯過@Input()後錯過set的錯誤。一個失誤的錯誤。

相關問題