Angular 4+有条件地渲染垫菜单(所有或某些垫菜单选项)

时间:2018-11-28 19:22:04

标签: angular angularjs-directive angular-material

埃洛,

我正在渲染一张垫子表,每行都有一个显示垫子菜单的蚀(3点)。现在,点击的每一行都显示相同的菜单选项,例如

  1. 列出项目1
  2. 列出项目2
  3. 列出项目3

我的行中包含其他数据,我想使用所述数据显示所有列表项或其中的一些。

我尝试在其中一个mat-menu选项中使用ngIf,但没有雪茄

     <mat-menu #menu="matMenu" >
        <ng-template matMenuContent let-someId="someId" let-eventOtherId="eventitherId" let-testcondition="condition">
          <a href="" *ngIf="testcondition === 'some item'"  mat-menu-item [routerLink]="[]">
            <mat-icon>info</mat-icon>
            <span>List Item 1</span>
          </a>
          <button mat-menu-item (click)="openDialog([someId])">
            <mat-icon>save_alt</mat-icon>
            <span>List Item 2</span>
          </button>
          <button  mat-menu-item (click)="openDialog([someId])">
            <mat-icon>add</mat-icon>
            <span>List Item 3</span>
          </button>
        </ng-template>
      </mat-menu>

所以理想情况下,如果testcondition ==='某些项目',我想显示列表项1,如果testcondition ==='其他项',我想显示列表项2。

编辑:深入研究之后,结果发现 let-testcondition =“ condition” 没有任何意义。 testcondition应该具有与之关联的值(从我可以在控制台中看到的condition属性),但是在ng-container中,即使someId和eventOtherId具有值,testcondition的值也没有。在模板中使用let变量的任何帮助将不胜感激

0 个答案:

没有答案