अनकवर्ड एरर: अनपेक्षित मॉड्यूल Form फॉर्ममॉड्यूल ’मॉड्यूल द्वारा घोषित od ऐपमॉड्यूल’। कृपया एक @ पाइप / @ निर्देश / @ घटक एनोटेशन जोड़ें


97

मैं एंगुलर में नया हूं। मैंने इसे सीखने के लिए टूर ऑफ हीरोज शुरू किया। तो, मैं एक बंधन के app.componentसाथ बनाया गया हूँ two-way

import { Component } from '@angular/core';
export class Hero {
    id: number;
    name: string;
}
@Component({
    selector: 'app-root',
    template: `
        <h1>{{title}}</h1>
        <h2>{{hero.name}}  details!</h2>
        <div><label>id: </label>{{hero.id}}</div>
        <div><label>Name: </label>
            <input [(ngModel)]="hero.name" placeholder="Name">
        </div>
    `,
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    title = 'Tour of Heroes';
    hero: Hero = {
        id: 1,
        name: 'Windstorm'
    };
}

ट्यूटोरियल के बाद मैंने FormsModule को आयात किया और इसे घोषणाओं के सरणी में जोड़ा। इस चरण में त्रुटि दिखाई दी:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { FormsModule } from '@angular/forms';

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

यहाँ त्रुटि है:

अनकवर्ड एरर: अनपेक्षित मॉड्यूल Form फॉर्ममॉड्यूल ’मॉड्यूल द्वारा घोषित od ऐपमॉड्यूल’। कृपया एक @ पाइप / @ निर्देश / @ घटक एनोटेशन जोड़ें।


11
यह एक "मॉड्यूल" है। यह अंदर है importsऔर नहींdeclarations
नील लून

जवाबों:


261

FormsModuleimports arrayनहीं में जोड़ा जाना चाहिए declarations array

  • आयात सरणी आयात मॉड्यूल के लिए है BrowserModule, जैसे FormsModule,HttpModule
  • घोषणाओं सरणी अपने लिए है Components, Pipes,Directives

नीचे देखें परिवर्तन:

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})

1
उत्तर और जानकारी के लिए धन्यवाद। यह मदद करता है।
व्लाद पोलटोरिन

9

FormsModuleआयात एरियर में जोड़ें ।
अर्थात

@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule
],
providers: [],
bootstrap: [AppComponent]
})

या इसका उपयोग [(ngModel)]करके उपयोग किए बिना किया जा सकता है

<input [value]='hero.name' (input)='hero.name=$event.target.value' placeholder="name">

के बजाय

<input [(ngModel)]="hero.name" placeholder="Name">

4

निकालें FormsModule से घोषणा: [] और जोड़े FormsModule में आयात: []

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})


तो, आपके उत्तर ने क्या जोड़ दिया जो दूसरों ने पहले से ही प्रदान नहीं किया था?
दोपहर

0

जिन चीजों को आप जोड़ सकते हैं declarations: [] in modules

  • पाइप
  • आदेश
  • अंग

प्रो टिप : त्रुटि संदेश यह बताता है -Please add a @Pipe/@Directive/@Component annotation.

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.