【问题标题】:Error : Module '"@angular/material"' has no exported member "..."错误:模块 '"@angular/material"' 没有导出的成员 "..."
【发布时间】:2021-11-07 03:22:15
【问题描述】:

我创建了一个自定义 Angular 材质模块,material.module.ts 文件并在此文件中导入以下 Angular 材质 UI 组件,如下所示。

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import {
   MatButtonModule,
   MatToolbarModule,
   MatIconModule,
   MatBadgeModule,
   MatSidenavModule,
   MatListModule,
   MatGridListModule,
   MatFormFieldModule,
   MatInputModule,
   MatSelectModule,
   MatRadioModule,
   MatDatepickerModule,
   MatNativeDateModule,
   MatChipsModule,
   MatTooltipModule,
   MatTableModule,
   MatPaginatorModule
} from '@angular/material';

@NgModule({
   imports: [
      CommonModule,
      MatButtonModule,
      MatToolbarModule,
      MatIconModule,
      MatSidenavModule,
      MatBadgeModule,
      MatListModule,
      MatGridListModule,
      MatFormFieldModule,
      MatInputModule,
      MatSelectModule,
      MatRadioModule,
      MatDatepickerModule,
      MatNativeDateModule,
      MatChipsModule,
      MatTooltipModule,
      MatTableModule,
      MatPaginatorModule
   ],
   exports: [
      MatButtonModule,
      MatToolbarModule,
      MatIconModule,
      MatSidenavModule,
      MatBadgeModule,
      MatListModule,
      MatGridListModule,
      MatInputModule,
      MatFormFieldModule,
      MatSelectModule,
      MatRadioModule,
      MatDatepickerModule,
      MatChipsModule,
      MatTooltipModule,
      MatTableModule,
      MatPaginatorModule
   ],
   providers: [
      MatDatepickerModule,
   ]
})

export class AngularMaterialModule { }

并将 AngularMaterialModule 导入 app.module.ts 文件 但我有这个错误:

模块“@angular/material”没有导出成员“....”

【问题讨论】:

  • 您好,欢迎您。您能否提供完整的示例错误消息,其中丢失的导出成员可见?您是如何导入自定义材质模块的?
  • 最好导入您正在处理的自定义模块所需的材料模块。它可以改进你的代码。

标签: angular typescript angular-material angular12


【解决方案1】:

我想使用 Angular Material 的步进器。显示与您相同的错误。我在 app.module.js 中使用了以下代码: import { MatStepperModule } from '@angular/material/stepper';。就我而言,“/ stepper”丢失了。 并在导入 [MatStepperModule]。

【讨论】:

    【解决方案2】:

    您可能已经更新了 Angular 和/或 Angular 材质版本;随着 angular material 9 的升级,他们将导入从 @angular/material 表示法更改为 @angular/material/button 表示法。

    您应该从特定组件深度导入,而不是从 @angular/material 导入。例如。 @角/材料/按钮。 ng update 会自动为您执行此操作。

    您可以按照此链接中的升级指南进行操作: https://update.angular.io/?v=8.0-9.0

    【讨论】:

      【解决方案3】:

      从 Angular Material v9 开始,每个模块都应该从单独的路径导入,例如:

      import { MatAutocompleteModule } from '@angular/material/autocomplete';
      

      如果您使用 ng update 更新了 Angular 应用程序(建议使用 ng update 更新 Angular,但不建议跨多个主要版本移动,see here for more details),它将自动迁移,而您不会不需要对导入做任何事情。

      【讨论】:

        猜你喜欢
        • 2018-03-19
        • 1970-01-01
        • 2021-03-25
        • 2018-05-22
        • 2018-10-19
        • 2017-03-29
        • 2018-09-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多