角材料-如何使用子菜单构建动态菜单?

时间:2019-12-20 19:22:06

标签: angular-material

我想创建一个动态数量的菜单,其中包含动态数量的子菜单。

    <ng-container *ngFor="let menu of menus">
        <button *ngIf="menu.routerLink" [routerLink]="[menu.routerLink]" mat-button>{{menu.label}}</button>
        <ng-container *ngIf="menu.items && menu.items.length > 0">
          <button mat-button [matMenuTriggerFor]="menu">{{menu.label}}</button>
          <mat-menu #menu="matMenu">
            <button *ngFor="let item of menu.items" [routerLink]="[item.routerLink]" mat-menu-item>{{item.label}}</button>
          </mat-menu>
        </ng-container>
    </ng-container>

但我知道

  

错误错误:ExpressionChangedAfterItHasBeenCheckedError:检查表达式后,表达式已更改。先前的值:“ ngForOf:未定义”。当前值:“ ngForOf:”。

我相信这是因为重复了#menu =“ matMenu” [matMenuTriggerFor] =“菜单”

如何动态更改它们?

ie:[matMenuTriggerFor] = 对变量的引用 #a对变量的引用 =“ matMenu”

0 个答案:

没有答案