2017-07-11 5 views
0

角度子コンポーネントから私はElementRef持つ親コンポーネントに複数の子コンポーネントを挿入しようとしているが、私は子コンポーネントのHTMLは、Get ElementRef 4

私の子コンポーネント

html: string = ''; 
constructor(private elementRef: ElementRef) { } 
ngAfterContentInit() { 
    this.html = this.elementRef.nativeElement; 
} 

を取得しようとしたときに何かが間違っていました子要素を親コンポーネントのHTMLにしたい

var textComponent = new TextStepComponent(); 
console.log(textComponent.html); << child component 

どうすればいいですか?または別の方法ですか?

私は助けてください

別のコンポーネント内のコンポーネントのHTMLを取得している何をしたいのすべてのもの!

+0

をあなたはそのようなコンポーネントを作成することはできません。コンポーネントファクトリを参照してください。 – Harangue

+0

@ハランガグありがとう! –

+0

子コンポーネントを動的に追加しますか? –

答えて

0

私はこの方法で私の問題を解決:

私の親コンポーネント:

import { TextStepComponent } from './components/text/text.component'; 

constructor(
    private viewContainerRef: ViewContainerRef, 
    private componentFactoryResolver: ComponentFactoryResolver, 
) { } 

ngAfterViewInit() { 
    const componentFactory = 
    this.componentFactoryResolver.resolveComponentFactory(TextStepComponent); 
    const containerRef = 
    this.viewContainerRef.createEmbeddedView(this.dataContainer); 
    console.log(containerRef); 
    const dynamicComponent = 
    containerRef.createComponent(componentFactory).instance; 
    dynamicComponent.data = { content: 'xxx' }; 
} 
関連する問題