【发布时间】:2019-08-22 04:00:18
【问题描述】:
我有一个带有指令[appComponent] 的<div>,所以我可以创建一个组件并附加到它。
<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。
【问题讨论】:
-
您的预期输出是什么?请简要介绍一下
new-component.html... -
new-component.html只包含一个文本...它是<div>Test</div>
标签: angular angularjs-directive