网站搜索

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 仅包含 模块

提供者仅包含服务