StackBlitz
У меня есть следующий код,
<div *ngFor="let obj of myObjs$ | async">
<button mat-button [matMenuTriggerFor]="menu">Menu</button>
<mat-menu #menu="matMenu">
<button mat-menu-item>{{obj.name}}</button>
<button mat-menu-item>Item 2</button>
</mat-menu>
</div>
Мой ngFor назначен наблюдаемому (что в реальном подобии является селектором из NGRX)>
Я делаю это потому, что когда загружается новый элемент, я хочу, чтобы меню автообновлялось, а также некоторая информация в меню основана на состоянии объекта, и я также хочу, чтобы он обновлялся.
Проблема в том, что ngFor постоянно перестраивает DOM, и когда я открываю matmenu, если он перестраивается, он удаляется и закрывается.
есть ли способ это исправить?
РЕДАКТИРОВАТЬ : я пытался * ngFor = "let obj of MyObjs $ | async; trackBy: obj? .Id", но все еще не работает.