私は角度2.0.1を使用しています。@ContentChildの角2参照動的インスタンス
私は<ng-content>
経由で他のコンポーネントを取り込むことができるコンポーネントを持っています - これは素晴らしい作品です。
私が問題になったのは、注入されたコンポーネントを参照したいときです。私は<ng-content>
だけ今まで私が言うことができる一つの構成要素になることを知っていた場合
:(私はなるだろう唯一の仮定は任意の注入されたコンポーネントは、特定のインターフェイスを実装していることである) @ContentChild(MyComponent) dynamicTarget: IMyComponent;
それは任意の構成要素とすることが可能性があるため、それがトリッキーになります。
また、<ng-content #dynamicTarget'>
を試した後、@ContentChild('dynamicTarget') dynamicTarget: IMyComponent;
と言っていますが、これは未定義です。
誰かが私がそれに関数を呼び出そうとすることができるように、このことがコンポーネントのインスタンスであることをAngular 2に伝える方法を知っていますか?
ユースケースをさらに明確にするために、コンテンツとして任意のコンポーネントを取り込むことができる複数ステップのウィザードがあり、そのコンテンツに対してvalidate
関数を呼び出す必要があります(ここでも、 )
"問題を解決する最善の方法は、もはやそれを持っていないことを確認することです"。 手順がコンポーネントとして定義されている場合、transclusion(NgContent)を使用する代わりにウィザードで手動で作成し、構成として渡すことができます。例えば、このPlunker(http://plnkr.co/edit/6I5e53fOzu9ywS3FzHlc)をチェックしてください。 –
@ S.Klechkovski私の非常に最初のプロトタイプは実際にはconfigの一部として実際に配列の配列を使用していました。代わりに 'ng-content 'を使うことができるのであれば、私はもっと興味があると思います。 (もしあなたのウィザードをHTMLとconfigオブジェクトの両方で構築する以外の理由がない場合)。私はそれがconfigオブジェクトに戻る可能性がないと思います。 – Johannes