この質問は、角度バージョンthis questionです。この試みは、次の問題が付属していますコンポーネントを別の親コンポーネントに角で移動する
class NewParentComponent {
constructor(elRef: ElementRef) {
elRef.nativeElement.appendChild(myMovableElement);
// where the reference to myMovableElement may come from a service.
}
}
:
- 我々は角度で直接DOMを操作することになっていません
次のスニペットは、私の最初の試みをまとめました。何らかの形で
Renderer
でコンポーネントを実現できますか? - @ ThinkingMediaの答えでは、Renderer2
を使用してください。 - 子コンポーネントを移動した後に元の親コンポーネントが破棄された場合、子コンポーネントに対して
ngOnDestroy
メソッドが呼び出されます。
this Plunkerを参照してください。このPlunkerはAngular Dynamic Component Loader exampleの上に構築されています。ブラウザのコンソールログを開き、 "destroyed!"広告のバナーが変更されるたびにテキストが記録されます。テキストがドロップボックスにドラッグされました。
コンポーネントやDOMノードを移動する必要がありますか?コンポーネントの場合は、どのように作成しますか? –
親コンポーネントから別の親コンポーネントに子コンポーネント(ノードだけでなく)を移動(ドラッグ/ドロップ)する必要があります。子コンポーネントが移動されると、元の親コンポーネントが破壊され、子コンポーネントの 'ngOnDestroy'メソッドを呼び出さないようにする必要があります。 –
大丈夫ですが、動的に作成して注入しますか?プランカを作成する。レンダラーはコンポーネントを動かすことであなたを助けません –