mf-multi-level-nav-模板组件
<div class="mf-ml-nav-item" *ngFor="let link of links">
<mat-divider *ngIf="link.separated" class="l-margin-bottom-8 l-margin-top-8"></mat-divider>
<mat-expansion-panel *ngIf="link.children && !link.master; else simpleLink" [expanded]="rla.isactive" class="mat-elevation-z0 mf-ml-nav-item-expansion">
<mat-expansion-panel-header class="mf-multi-level-nav-item-header" [replaceUrl]="false" routerLinkactive #rla="routerLinkactive" [routerLink]="link.path ? link.path : null" [routerLinkactiveOptions]="{ exact: false }" collapsedHeight="48px" expandedHeight="48px">
{{link.label}}
</mat-expansion-panel-header>
<mf-multi-level-nav [links]="link.children"></mf-multi-level-nav>
</mat-expansion-panel>
<ng-template #simpleLink>
<a mat-button class="mf-ml-nav-item-link" routerLinkactive="is-active" [routerLink]="[link.path]">{{link.label}}</a>
</ng-template>
</div>
问题在于页面上仅可见第一个链接,其余链接被添加到DOM中,尽管不可见(找不到任何样式使它们可见)。在将angular-material和angular / cdk从6.4.7版本更新到7.3.7之后,此功能将停止工作,并且仅在Edge中的Chrome和Firefox中可见,并且工作正常。
-
我的第一个怀疑是,rla在WebStorm中以MAtExpansionPanelHeader的身份显示,而不是以routerLinkactive的身份显示,尽管这种行为是在更新之前进行的,然后链接可以正确呈现
-
第二个怀疑是该递归组件结构,该组件是递归嵌套的,可能丢失了引用,请尝试制作类似于此结构的东西-> https://gist.github.com/arniebradfo/5cf89c362cc216df6fc1d9ca4d536b72但没有成功
对此的任何帮助,如果还有其他可能性将扩展属性标记为活动链接,这也可以