角库:材质菜单:错误:找不到名称“ matMenu”的导出

时间:2020-07-31 16:12:54

标签: angular angular-material

我正在使用Angular Library,我有一个简单的菜单:

<mat-menu #menu="matMenu" yPosition="below" style="margin-top: 45px;">
    <button style="outline: none;" *ngFor='let button of card?.overflowmenu?.buttons' mat-menu-item
            class="header-menu-item">
        {{button.text}}
    </button>
</mat-menu>

该模块如下所示。

import { NgModule } from '@angular/core';
import { CardComponent } from './card.component';
import { MatMenuModule } from '@angular/material/menu';
import { CommonModule } from '@angular/common';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { BrowserModule } from '@angular/platform-browser';

@NgModule({
  declarations: [CardComponent],
  imports: [
    BrowserModule,
    CommonModule,
    BrowserAnimationsModule,
    MatMenuModule,
  ],
  exports: []
})
export class CardModule { }

当我这样做时:$ ng测试@libraryname。

我得到错误:错误:找不到名称'matMenu'的导出!

构建Angular库时是否缺少导入的内容?

1 个答案:

答案 0 :(得分:1)

您的测试也需要导入模块-因此您需要

import { MatMenuModule } from '@angular/material/menu';

在.spec.ts文件的导入中,然后

    TestBed.configureTestingModule({
      declarations: [YourComponent],
      imports: [
        NoopAnimationsModule,
        LayoutModule,
...
        MatMenuModule,
      ]
    }).compileComponents();

在您的测试文件中