を使用してparent
コンポーネントにテンプレートを追加しています。テンプレートでは私のchild
ディレクティブで扱われているchild
要素があります。 @Query(Child)
とQueryList
を使用して子が作成されたときを検出しようとしていますが、子が追加されたときにQueryList
サブスクライブコールバックは呼び出されません。子が動的に追加されたときの検出
子要素が親に(動的に)追加されたときを検出する方法はありますか?
例plunkrあなたはその親は、子が追加されadd
ボタンを押すと、あなたはchild
要素が追加され、コンソールされている開発者ツールで見ることができ、それぞれの子コンポーネントのdiv
をレンダリング見ることができる例で
メッセージは出力されますが、QueryListは更新されません...
アイデア?
更新RC6:
@Query()
がRC6に削除されましたが、私はplunkerが@ContentChildren
と@ViewChildren
を使用するように更新しており、結果は同じではありません、どちらもViewContainerRef.createEmbeddedView
で追加された新しい要素を検出します。
さらに、私はgetElementsByTagName("child")
で要素を取得するために機能を追加しましたが、これは機能しますが、私はこの方法が最善ではないと思います。
間違い#4:クエリリストを検出するngOnChangesを使用してはまあhttp://angularjs.blogspot.com.es/2016/04/5-rookie-mistakes-to-avoid-with-angular.html –
を変更しますあなたが意図的にそれを行うなら必ずしも間違いではありませんが、私はそれがデフォルトにするのがベストプラクティスではないことを認識しています。 –