Angular 创建依赖于另一个更高级别组件的角度组件

Angular 创建依赖于另一个更高级别组件的角度组件,angular,components,Angular,Components,我想创建的角度组件,不能被渲染,除非包装在另一个更高级别的组件。 为了更好地理解这一点,这里有一个示例(示例来自角材料选项卡结构): 我想创建相同的结构,其中mat-tab将是我的组件,如果没有mat-tab组包装组件,则无法渲染该组件 我正在查阅角度文档,但找不到相关信息。 有人能帮忙吗 谢谢大家! 您可以使用Optional和Host来获取“mat选项卡组” 在你的孩子身上 get hasParent() { return this.hello!=null } construct

我想创建的角度组件,不能被渲染,除非包装在另一个更高级别的组件。 为了更好地理解这一点,这里有一个示例(示例来自
角材料
选项卡结构):


我想创建相同的结构,其中
mat-tab
将是我的组件,如果没有
mat-tab组
包装组件,则无法渲染该组件

我正在查阅角度文档,但找不到相关信息。 有人能帮忙吗


谢谢大家!

您可以使用Optional和Host来获取“mat选项卡组”

在你的孩子身上

get hasParent()
{
    return this.hello!=null
}
constructor(@Optional() @Host() private hello:HelloComponent){}
可以在child.component.ts中使用

<ng-container *ngIf="hasParent">
....
</ng-container>

....
如果公开hello,可以在.html(*)中使用

你好!,家长的名字是{{hello.name}
(*)如果是私有的,您可以使用
this.hello.oneProperty
this.hello.oneFunction()

请参见

感谢@Syed,这正是我所寻找的


谢谢大家!

请检查此链接,问题已在此处回答
<ng-container *ngIf="hasParent">
....
</ng-container>
<h1 *ngIf="hasParent">Hello!, parent's name is {{hello.name}}</h1>