javascript - 模块 'AppModule' 导入了意外的值 'FormBuilder'。请添加 @NgModule 注解
如何在 app.module 中添加 formbulder
模块 AppModule 导入了意外的值 FormBuilder。请添加 @NgModule 注解。
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http";
import {FormBuilder, FormControl, FormGroup, Validators, FormsModule} from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { ClientComponent } from './client/client.component';
import { ClientTaskComponent } from './clienttask/clienttask.component';
import { ClientService } from './client/sherad/client.service';
@NgModule({
declarations: [
AppComponent, ClientComponent, ClientTaskComponent, ClientService
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
FormsModule,
FormBuilder,
FormGroup,
FormControl
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
答案#1
imports 数组只接受 Angular 模块。
而不是
import {FormBuilder, FormControl, FormGroup, Validators, FormsModule} from '@angular/forms';
只需导入:
import {ReactiveFormsModule} from '@angular/forms';
ReactiveFormsModule 是暴露 FormBuilder、FormControl、FormGroup、Validators 等的模块。因此,要使用它们,您必须在您的 Angular 模块中导入 ReactiveFormsModule。
并且只添加那个 imports 数组。
@NgModule({
declarations: [
AppComponent, ClientComponent, ClientTaskComponent, ClientService
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
FormBuilder、FormControl、FormGroup、Validators 等,应该只在组件/服务中导入并使用。它们在 Angular 模块文件中实际上并不需要。
答案#2
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http"; import {FormBuilder, FormControl, FormGroup, Validators, FormsModule} from '@angular/forms'; ........................///Remove this
import { FormsModule, ReactiveFormsModule } from "@angular/forms";..........//Add this
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { ClientComponent } from './client/client.component';
import { ClientTaskComponent } from './clienttask/clienttask.component';
import { ClientService } from './client/sherad/client.service';
@NgModule({
declarations: [
AppComponent, ClientComponent, ClientTaskComponent, ClientService
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
FormsModule,
FormBuilder,.........///Remove this
FormGroup,...........///Remove this
FormControl..........///Remove this
ReactiveFormsModule ..........//Add this
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
并在你的 .ts 文件中导入这个
import {FormBuilder, FormControl, FormGroup, Validators, FormsModule} from '@angular/forms';
永远记住在
@NgModule
(
声明仅包含组件
imports 仅包含 模块
提供者仅包含服务
