Ich bin neu in Angular. Ich habe Tour of Heroes gestartet, um es zu lernen. Also bin ich ein app.component
mit two-way
Bindung erstellt.
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'
};
}
Nach dem Tutorial habe ich FormsModule importiert und in das Deklarationsarray eingefügt. Bei diesem Schritt ist ein Fehler aufgetreten:
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 { }
Hier ist ein Fehler:
Nicht erfasster Fehler: Unerwartetes Modul 'FormsModule', deklariert vom Modul 'AppModule'. Bitte fügen Sie eine @ Pipe / @ Directive / @ Component-Anmerkung hinzu.
imports
und nichtdeclarations
Antworten:
FormsModule
sollte beiimports array
nicht hinzugefügt werdendeclarations array
.BrowserModule
,FormsModule
,HttpModule
Components
,Pipes
,Directives
siehe unten Änderung:
quelle
Fügen Sie
FormsModule
in Import Array.dh
Oder dies kann ohne Verwendung
[(ngModel)]
durch Verwendung erfolgenanstatt
quelle
Entfernen Sie das FormsModule aus der Deklaration: [] und fügen Sie das FormsModule beim Import hinzu: []
quelle
Dinge, die Sie hinzufügen können
declarations: [] in modules
Pro-Tipp : Die Fehlermeldung erklärt es -
Please add a @Pipe/@Directive/@Component annotation.
quelle