Angular 16出现“No directive found with exportAs 'matMenu'”错误,求解决方案
针对你遇到的这个错误,在已经导入MatMenuModule的前提下,可按以下步骤排查:
确认模块导入范围
确保MatMenuModule是在TestComponent所属的NgModule中导入的。如果TestComponent属于懒加载模块,根模块的导入不会生效,必须在该懒加载模块的imports数组中添加MatMenuModule。校验Angular与Material版本兼容性
运行以下命令检查版本是否匹配(Angular 16需对应@angular/material 16.x.x版本):ng version若版本不一致,执行升级/降级命令对齐版本:
npm install @angular/material@16清理项目缓存
缓存可能导致模块未正确编译,执行以下命令清理后重启服务:ng clean ng serve --open检查模板拼写与结构
确认模板中mat-menu标签的exportAs属性拼写正确(你当前的#failedDiscussion="matMenu"是正确的),同时确保菜单的触发按钮(如<button [matMenuTriggerFor]="failedDiscussion">)也正确关联,缺少触发元素也可能间接引发异常。
内容的提问来源于stack exchange,提问作者test
相关产品推荐
相关产品推荐

