未捕获错误:模块“AppModule”导入的意外指令“MatFormField”。请添加@NgModule注释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未捕获错误:模块“AppModule”导入的意外指令“MatFormField”。请添加@NgModule注释相关的知识,希望对你有一定的参考价值。

我想使用Angular Material Date选择器但我收到此错误。

未捕获错误:模块“AppModule”导入的意外指令“MatFormField”。请添加@NgModule注释。

app.component.html

<mat-form-field>
  <input matInput [matDatepicker]="picker" placeholder="Choose a date">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import {MatFormField} from '@angular/material';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    MatFormField
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
答案

要导入组件和指令等,请导入其模块,而不是实际的组件和指令。所以你需要导入MatFormFieldModule而不是MatFormField

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { MatFormFieldModule } from '@angular/material/form-field';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    MatFormFieldModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

以上是关于未捕获错误:模块“AppModule”导入的意外指令“MatFormField”。请添加@NgModule注释的主要内容,如果未能解决你的问题,请参考以下文章

未捕获错误:模块“AppModule”导入的意外指令“MatFormField”。请添加@NgModule注释

未捕获的错误:模块“AppModule”声明的意外模块“FormsModule”。请添加@Pipe/@Directive/@Component 注解

模块“AppModule”导入的意外指令“LoginComponent”。请添加@NgModule 注释

Angular - 模块 AppModule 导入的意外值 MatDialog

Angular - 模块AppModule导入的意外值MatDialog

Rails 6 无法导入纱线依赖项:未捕获错误:模块解析失败:意外字符“#”(1:0)