2017-02-20 8 views
0

ngAfterViewInit()は、コンポーネントのビューとその子ビューが作成された後に呼び出されるべきだと思います。私はこれをテストし、子供のngAfterViewInit()が親のngAfterViewInit()の前に呼び出されていることを発見しました。それは期待された行動ですか? ngAfterViewInitの後に呼び出される親クラスの関数が必要です。これどうやってするの?親クラスのngAfterContentInitを呼び出す - 角2

ありがとうございます。

答えて

1

はい、これは正常な動作です。の後にngAfterViewInit()と呼ばれ、ビューは初期化されます。子供はビューの一部です。したがって、子供の前に呼び出すことはできませんngAfterViewInit()

ngAfterContentInit()があなたのニーズに合っているかどうか試してみることはできますが、私はあなたのアプローチを再考したいと思います。たとえば、監視可能な共有サービスを使用して、親に子の状態を通知します。

+0

私はネストされたテーブル行コンポーネントとテーブルcolコンポーネントを持つ 'テーブル'コンポーネントを持っています。ビューの初期化後、私は主なコンポーネントに配列を構築したいと思います。 ngAfterContentInitが親コンポーネントで最初に初期化される場合、子コンテンツを取得できません。 –

+0

子が最初に初期化されます。私はあなたの質問が混乱していると思う。あなたが達成しようとしていることを示すいくつかのコードを質問に追加してください。 –

関連する問題