gpt4 book ai didi

angular 9,@ContentChildren 未正确初始化

转载 作者:行者123 更新时间:2023-12-04 01:33:48 25 4
gpt4 key购买 nike

我有一个名为“VerticalTabsDirective”的指令,具有属性-

@ContentChildren(MatTabLink) contentChildren: QueryList<MatTabLink>;
@Input() exlVerticalTabs

我以这种方式在带有递归 ng-template 的组件中使用它-
 <nav mat-tab-nav-bar
[exlVerticalTabs]="selectedIndex">
<ng-template #recursiveNavList let-tabs="tabs" let-level="level">
<ng-container *ngFor="let tab of tabs; let i = index">
<a mat-tab-link
[active]="rla.isActive"
[routerLink]="[tab.link]"
#rla="routerLinkActive"
routerLinkActive>
<span>
{{tab}}
</span>
</a>

<div>
<ng-container *ngTemplateOutlet="recursiveNavList; context: { tabs: tab.subCategories, level: level + 1}"></ng-container>
</div>

</ng-container>
</ng-template>

<ng-container *ngTemplateOutlet="recursiveNavList; context: { tabs: profileOutputService.facets, level:0}"></ng-container>

</nav>

但是当我调试我的指令时,我可以看到“contentChildren”属性没有正确初始化,里面的“_results”对象是空的,并且不包含预期的“MatTabLink”字段。
在其他组件中,我使用“VerticalTabsDirective”和“contentChildren”正确初始化,但我不使用递归 ng-template 是那些组件。

知道如何使它工作吗?

最佳答案

我找到了一个可以帮助人们的答案 - 需要添加“{后代:真实}”。

 @ContentChildren(ChildComponent, { descendants: true}) children: QueryList<
ChildComponent>

关于angular 9,@ContentChildren 未正确初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60297814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com