セレクタdynamically-added
にいくつかのコンポーネントDynamicallyAddedComponent
が関連付けられているとします。 ParentComponent
には、内部DOMツリーを操作し、<dynamically-added>
タグを追加または削除する可能性のある、他の非角のサードパーティのJavaScriptが含まれています。DOM要素が別のjavascriptライブラリによって作成されたAngular2コンポーネントを登録するにはどうすればよいですか?
ParentComponent
のテンプレートに直接<dynamically-added>
タグを追加すると、レンダリングがうまくいきますが、サードパーティのライブラリでタグを追加すると、コンポーネントが追加されたことを角度で認識できません。
@NgModule
宣言に両方のコンポーネントを追加しました。app.module.ts
です。また、サードパーティの変更イベントのイベントハンドラの内側にChangeDetectorRef.detectChanges()
とApplicationRef.tick()
の呼び出しを追加しました。
コンポーネントを追加または削除したことを手動でAngularに伝えるにはどうすればよいですか? Angularはコンポーネントを内部でどのように認識し、ブートストラップするのですか?
あなたは常にもあなたが 'ブレークポイントを追加することができますDOM要素が' scenes'と 'DEBUG'オプションの後ろに変更されているかを確認するには、Webブラウザの' inspect'機能を使用することができインサイドあなたが私のことを覚えてくれてありがとうと思います。 – mike510a
@ mike510a私は以前これを使用しましたが、この例では使用していません。残念ながら、手元にある問題には、DOM要素が必要なときには変更されていないので、デバッグするための変更動作はありません。これは役立つアドバイスですが、私はそれが便利だろうと確信しています:) – pixelpax