angular - Hur får jag åtkomst till mat-menutrigg från typescript


Jag har följande HTML:

<button mat-icon-button #notificationMenuBtn [matMenuTriggerFor]="notificationsMenu">
</button>
<mat-menu #notificationsMenu="matMenu" [overlapTrigger]="false">
</mat-menu>

Hur får jag åtkomst till matMenuTriggerFor på notificationMenuBtn från TypeScript? Jag försökte använda en ViewChild (visas nedan) men jag verkar inte kunna binda det till triggern, bara till knappen.

@ViewChild('notificationMenuBtn') notificationMenuBtn : MatMenuTrigger;
this.notificationMenuBtn.openMenu();

Svar #1

Om du verkligen behöver använda ett id (När du har flera MatMenuTrigger)

@ViewChild('notificationMenuBtn', {read: MatMenuTrigger}) protected notificationMenuBtn : MatMenuTrigger;

Svar #2

Klurade ut det. Jag behövde bara använda MatMenuTrigger istället för element-id.

@ViewChild(MatMenuTrigger) notificationMenuBtn: MatMenuTrigger;

Relaterade artiklar