У меня есть <div>
с директивой [appComponent]
, поэтому я могу создать компонент и добавить к нему.
<div [appComponent]="component">
Моя директива выглядит следующим образом:
@Directive({
selector: '[appComponent]'
})
export class ComponentDirective implements OnChanges {
@Input('appComponent') comp: any;
private container;
constructor(private elementRef: ElementRef, private renderer: Renderer2) {
this.container = this.elementRef.nativeElement;
}
ngOnChanges(changes: SimpleChanges): void {
const newComponent = this.renderer.createElement('new-component');
this.renderer.appendChild(this.container, newComponent);
}
}
И мой new-component
:
@Component({
selector: 'new-component',
templateUrl: './new-component.html',
styleUrls: ['./new-component.scss']
})
export class NewComponent {
}
Этот компонент имеет содержимое внутри.Элемент создан и добавлен в div, однако он пуст:
<div>
<new-component _ngcontent-c3=""></new-component>
</div>
Как создать экземпляр компонента и добавить его в div?Я использую угловой 7.