Я пытаюсь создать динамическое меню для своей электронной коммерции и получаю следующую ошибку:
Error: mat-menu-trigger: must pass in an mat-menu instance!
Кто-нибудь знал, как решить эту ошибку.
Как я могу сделать [matMenuTriggerFor] и #main_menu динамическими?
В моем списке несколько магазинов! Все просто. Эти два атрибута нужны только в динамическом формате.
<button mat-button [matMenuTriggerFor] = "i" *ngFor = "let shop of shopey; let
i=index">{{shop.name}}
</button>
<mat-menu #main_menu = "matMenu">
<ng-container *ngFor = "let shop of shopey">
</ng-container>
</mat-menu>





Попробуйте следующее ...
Переместите ваш цикл *ngFor в оболочку span
<span *ngFor = "let shop of shopey; let i=index">
А затем поменяйте #main_menu на #i
<span *ngFor = "let shop of shopey; let i=index">
<button mat-button [matMenuTriggerFor] = "i" >{{shop.name}}
</button>
<mat-menu #i = "matMenu">
<ng-container>
this is a test of the container
</ng-container>
</mat-menu>
</span>
Stackblitz
https://stackblitz.com/edit/angular-wu6dl4?embed=1&file=app/menu-overview-example.ts
Исправить форматирование.