2016-10-24 6 views
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> 

ルートもそれに応じて設定されていると私はデータは、ブラウザツールのネットワークタブに来るのを見ることができます。

何か不足している場合は教えてください。

答えて

0

@Input()の後にsetが見つかりませんでした。大失敗です

関連する問題