在Angular中,如果动态更新mat-menu-item不会更新视图,可以尝试以下解决方法:
import { Component, ChangeDetectorRef } from '@angular/core';
@Component({
selector: 'app-menu',
template: `
`,
})
export class MenuComponent {
menuItems: string[] = [];
constructor(private cdr: ChangeDetectorRef) {}
updateMenuItems(newItems: string[]) {
this.menuItems = newItems;
this.cdr.detectChanges();
}
}
import { Component } from '@angular/core';
@Component({
selector: 'app-menu',
template: `
`,
})
export class MenuComponent {
menuItems: string[] = [];
isMenuVisible = false;
updateMenuItems(newItems: string[]) {
this.menuItems = newItems;
this.isMenuVisible = true;
}
}
import { Component, ViewChild, TemplateRef } from '@angular/core';
@Component({
selector: 'app-menu',
template: `
`,
})
export class MenuComponent {
menuItems: string[] = [];
}
使用这些方法之一,应该能够动态更新mat-menu-item并更新视图。