javascript - ค่า 'FormBuilder' ที่นำเข้าโดยโมดูล 'AppModule' ไม่คาดคิด กรุณาเพิ่มคำอธิบาย @NgModule
วิธีเพิ่ม FormBuilder ใน app.module
ค่าที่ไม่คาดคิด FormBuilder ถูกนำเข้าโดยโมดูล AppModule กรุณาเพิ่มคำอธิบาย @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:
import {ReactiveFormsModule} from '@angular/forms';
ReactiveFormsModule เป็นโมดูลที่ FormBuilder, FormControl, FormGroup, Validators เป็นต้น ถูกเปิดเผยออกมา ดังนั้นในการใช้งานพวกมัน คุณจะต้องทำการนำเข้า ReactiveFormsModule ใน Angular Module ของคุณ
และเพิ่มเพียงแค่อาเรย์ imports นั้น
@NgModule({
declarations: [
AppComponent, ClientComponent, ClientTaskComponent, ClientService
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
FormBuilder, FormControl, FormGroup, Validators เป็นต้น ควรถูกนำเข้าเฉพาะใน Components/Services และใช้งานที่นั่น ซึ่งจริงๆ แล้วไม่จำเป็นต้องใช้ในไฟล์ Angular Module
คำตอบ #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 มีเฉพาะ modules
ผู้ให้บริการ มีเพียง บริการ
