0
ルータレベルでリゾルバを使用してデータの正常な分解能でロード(ルーテッド)されるコンポーネントがあります。サーバーから取得したデータは、子コンポーネントに渡されます。データは解決し、それに応じて渡されたが、子コンポーネントは未定義角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>
ルートもそれに応じて設定されていると私はデータは、ブラウザツールのネットワークタブに来るのを見ることができます。
何か不足している場合は教えてください。