我想知道是否可以使用模板引用变量访问ng-template
中的模板组件?
我试过使用@ViewChild和@ContentChild,但它们似乎都不起作用
示例:我想访问app-common的内容
<ng-template #first>
<app-common #second><app-common>
</ng-template>
@ViewChild('second') second1: ElementRef;
@ContentChild('second') second2: ElementRef;
ngAfterViewInit() {
console.log(this.second1);
}
ngAfterContentInit() {
console.log(this.second2);
}
答案 0 :(得分:0)
<ng-template>
是用于呈现HTML的Angular元素。它是 从不直接显示。实际上,在渲染视图之前,Angular 将<ng-template>
及其内容替换为注释。
一旦您在例如以下位置使用模板:
<ng-content *ngTemplateOutlet="first"></ng-content>
您还可以通过Viewchild访问其内容。