我想在这里实现的是我想在我的共享组件中包装有角度的材料标签组件。
所以,这是我要包装的组件:
PS:我可以在每个选项卡中显示组件:
<mat-tab-group>
<mat-tab label="First"> Content 1 </mat-tab>
<mat-tab label="Second"> Content 2 </mat-tab>
<mat-tab label="Third"> Content 3 </mat-tab>
</mat-tab-group>
所以,我想使用包装器来使用它:
<app-wrapper>
<app-item>
<app-item-header title="first"></app-item-header>
<app-item-content>
<app-needs-to-be-displayed></app-needs-to-be-displayed>
</app-item-content>
</app-item>
</app-wrapper>
应用程序包装器.html
<mat-tab-group>
<ng-content></ng-content>
</mat-tab-group>
TS类没有变化
应用-item.html
<mat-tab>
<ng-content></ng-content>
</mat-tab>
TS类没有变化
app-item-header.html
<ng-template mat-tab-label>
{{title}}
</ng-template>
app-item-header.ts 类
@Input() title:string = ''
app-item-content.html
<div>
<ng-content></ng-content>
</div>
TS 类没有变化,这可以容纳一个实际的组件
这在控制台中没有错误,但页面上也没有出现任何内容。
这是工作的stackblitz版本
https://stackblitz.com/edit/angular-wrapping-component-with-ng-content
PS:如果这是实现这一目标的最佳解决方案还是有另一种解决方案,请建议大家?