Мало # элемент меню не имеет дочернего элемента. Но показывает стрелку, которая указывает, что есть подменю. Что не так.
Как добавить [matMenuTriggerFor] = "subMenu", только если в subMenu есть элементы.
<mat-menu #menu="matMenu">
<ng-container *ngFor="let item of menuItem.items; let i=index">
<button class="mat-menu-item" mat-menu-item
[routerLink]="item.routerLink" routerLinkActive="active" [matMenuTriggerFor]="subMenu"> {{item.name}}
</button>
<mat-menu #subMenu="matMenu"> <button class="mat-sub-menu-item"
*ngFor="let subitem of menuItem.items[i].subitems" mat-menu-item> {{ subitem.name }} </button>
</mat-menu>
</ng-container>
</mat-menu>