Angular 4+ условно рендеринг mat-menu (все или некоторые опции меню mat) - PullRequest
0 голосов
/ 28 ноября 2018

Ello,

Я рендерил таблицу матов, и в каждой строке есть затмение (3 точки), которое отображает меню матов.Прямо сейчас, каждая нажатая строка показывает один и тот же параметр меню, например

  1. Элемент списка 1
  2. Элемент списка 2
  3. Элемент списка 3

В моей строке есть дополнительные данные, и я хотел бы использовать эти данные для отображения всех элементов списка или некоторых.

Я пытался использовать ngIf внутри одного из вариантов меню mat, но без сигары

     <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>

, так что в идеале я хотел бы отобразить элемент списка 1, если testcondition === 'someitem 'и отображать элемент списка 2, если testcondition ===' некоторый другой элемент '

edit: после еще нескольких копаний выясняется, что let-testcondition = "condition" ничего не оценивает.У testcondition должно быть значение, связанное с ним (из свойства condition, которое я вижу в моей консоли), но в ng-контейнере нет значения для testcondition, даже если у someId и eventOtherId есть значение.Любая помощь по использованию переменной let внутри шаблона будет очень признательна

...