2016-08-25 13 views
2

私の2番のアプリケーションでは、コンポーネントA(親)とコンポーネントB(子)の2つのコンポーネントがあります。@input()でデータが渡される前に角2の子コンポーネントがロードされる

@Input()でデータ(myData)をAからBにコピーすると、B(子コンポーネント)でデータが取得されますが、子コンポーネントがBEFORE myDataをロードして、 way.a console.log(myData)はngOnDestroyフックにあります!

このようなロードオーダーを処理するにはどうすればよいですか?

+0

コンポーネントのコンストラクタにデータをロードしようとします。 – rashfmnb

+0

これがなぜ問題を引き起こすのかは不明です。 '@Input()'が外部から更新されるたびに呼び出されるライフサイクルフック 'ngOnChanges()'を使うことができます。 'ngOnInit()'は 'ngOnChanges()'が最初に呼び出された後に呼び出されます。それがうまくいかない場合は、達成しようとしていることを示すコードをさらに提供してください。コードを見ることなくあなたのサイトで何が起こっているのか今はできません。 –

答えて

-2

あなたは、サンプルプロジェクト here.

チェックapp.service.tsコードでそれを行うには良い例を見つけることができます。

コンポーネント間で共有されるデータを格納するグローバルサービスを記述する必要があります。

-1

地獄を2日間過ごした後、私は魅力的なこの解決策を見つけました。 ngOnChanges(value:any):void { //your code } reference link

2

ここで私にとって最も簡単な解決法があります。子コンポーネントの初期化を遅らせるには、親コンポーネントで* ngIfを使用します。 'myData'に値がある場合のみ、子コンポーネントをバインドします。

コード例が役立ち、何かを一緒に置くことができるかどうかを教えてください。お役に立てれば。乾杯!

関連する問題