我有一个名为tab
的组件,其中有<ng-content select="[tabItem]"></ng-content>
有时tabItem
在其他子组件中。我的问题是Angular从直接子级而不是内部子级(app-my-tab)中选择内容,有什么办法吗?
app.component.html
<app-tabs>
<div tabItem>
Tab 1
</div>
<div tabItem>
Tab 2
</div>
<app-my-tab></app-my-tab>
</app-tabs>
my-tab.component.html
<div tabItem>
My Tab
</div>
<div>
Other content
</div>
查看此stackblitz
答案 0 :(得分:0)
没有针对深度选择的解决方案。 我认为这是合乎逻辑的,因为:
如果您确实想这样做,请在app-my-tab中使用 * ngIf 。
要使用*ngIF
:
app-tabs
中的所有元素必须具有tabItem
属性app-my-tab
组件中的其他元素。并且app-my-tab
收到它作为@Input()
属性app-my-tab
html中使用*ngIf
显示或隐藏某些元素示例: https://stackblitz.com/edit/deep-ng-content-2gyttv?file=src/app/app.component.html