2017-08-26 1 views
2

aufgerufen wird Ich versuche, die Grundlagen von Angular2 zu lernen, also habe ich versucht, einige Tests zu machen. Ich habe bereits typescript und angular/cli heruntergeladen.ngModel lässt leeren Bildschirm, wenn sie

I iterpolation verwenden kann, das Eigentum Bindung, etc., aber wenn ich versuche, eine Zwei-Wege-Datenbindungs ​​ so zu verwenden (in app.component.html für Tests):

<input type="text" [(ngModel)]="test.description"> 

und die ng server Auffrischungen, all die Dinge, die ich getan habe, verschwinden und alles, was ich sehe, ist ein leerer Bildschirm.

Ich bitte, dass die Antworten einfach sein, weil ich ein Anfänger in der Verwendung von eckigen bin.

EDIT: Auch nach der Aktualisierung app.modules.ts, meine Konsole den folgenden Fehler immer angezeigt wird:

Uncaught Error: Template parse errors: 
Can't bind to 'NgModel' since it isn't a known property of 'input'. (" 
</p> 

<input type="text" [ERROR ->][(NgModel)]="test.description" >` 
+0

haben Sie das Objekt Test erklärt Hier wird funktioniert? – Sajeetharan

+0

Ja, selbst wenn ich zum Beispiel '{{test.description}}' rufe, zeigt es den Wert korrekt an, das Problem ist, wenn ich versuche, irgendetwas mit '[(ngModel)] ' – Lioo

+0

zu tun. Verwenden Sie Kleinschreibung - ngModel – diopside

Antwort

2

Sie müssen einen Fehler auf der Konsole bekommen, verwenden ngModel, Fügen Sie diese auf Ihrem Modul,

import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 

@NgModule({ 
imports: [ 
     FormsModule  
] 

Verwenden Sie die korrekte Syntax ngModel

<input type="text" name="name" [(ngModel)]="test.description"> 
+0

Hallo Sajeetharan - ich denke nicht, dass ich ngModel verwenden muss. Ich benutze es in all meinen Apps und habe dieses Modul noch nie benutzt. – diopside

+0

Ja - Sie können ngModel entweder mit vorlagenbasierten Formularen oder reaktiven Formularen verwenden. Template-basierte Formulare verwenden nur das einfachere FormsModule. Sie müssen jedoch kein spezielles Forms-Modul importieren, wenn Sie nicht ngModel in Form-Tags verwenden und auf die Eingabe-Zustände in der Vorlage des Formulars verweisen müssen. – diopside

+0

https://angular.io/api/forms/NgModel <- siehe hier. "Diese Direktive kann allein oder als Teil einer größeren Form verwendet werden. Alles was Sie brauchen, ist der ngModel-Selektor, um ihn zu aktivieren." – diopside

0

Sie benötigen ein Attribut „name“ auf den Eingang, um zu setzen, um es mit ngModel

<input type="text" name="name" [(ngModel)]="test.description"> 

die Plunker

+0

Ich habe immer Namen mit meinen ngModel-Eingaben verwendet, aber nach der offiziellen Dokumentation zu urteilen - es ist nicht notwendig, wenn ein eigenständiges ngModel-Input verwendet wird. https://angular.io/api/forms/NgModel siehe das erste Anwendungsbeispiel. – diopside

Verwandte Themen