1 回答

TA貢獻1824條經(jīng)驗 獲得超8個贊
如果使用 ,則不能使用它來呈現(xiàn)此內(nèi)容。您需要使用以下指令:ng-templateng-contentngTemplateOutlet
父模板:
<button (click)="show = !show">Toggle</button>
<tab [show]="show">
<ng-template>
I am rendered
</ng-template>
</tab>
兒童:
export class HelloComponent {
@ContentChild(TemplateRef)
template?: TemplateRef<any>;
@Input()
show?: boolean;
}
子模板:
<ng-container *ngIf="show" [ngTemplateOutlet]="template"></ng-container>
工作示例
另一種方法是將顯示留給父組件:
父模板:
<button (click)="show = !show">Toggle</button>
<tab>
<ng-template [ngIf]="show">
I am rendered
</ng-template>
</tab>
子模板:
<ng-content></ng-content>
工作示例
最后一個答案聽起來像是反對我的第一個答案,我提到你不能用它來渲染,但在這種情況下,它正在處理模板的渲染。ng-contentng-template*ngIf
添加回答
舉報