2017-05-31 5 views
0

Ich bin neu in Angular 2, und versuche es zu lernen. Ich lernte durch einige Youtube-Videos und während ich schablonenbasierte Formulare lernte, stieß ich auf eine Situation, die ich nicht verstehen konnte.ngModel in Vorlage getrieben Formularen Angular 2

In einem der Videos gibt ein Beispiel war, in dem ein Formular erstellt wurde und jedes Eingabeelement gegeben ist ngModel Attribut, aber ich konnte den Zweck des Schreibens ngmodel in dieser Form nicht verstehen ->

unten ist der vollständige Formularcode: -

<div class="container"> 
<div [class.myClass]="applyClass" > 
<h1>First Form</h1> 
</div> 
<form #userFrom="ngForm" novalidate (submit)="onsubmit(userFrom)"> 
<div class="form-group"> 
<label>Student id</label> 
<input type= "text" #_idRef class="form-control" name="id" ngModel> 
<span>{{_idRef.className}}</span> 
</div>  

<div class="form-group"> 
<label>Student Name</label> 
<input type= "text" class="form-control" name="sname" ngModel>  
</div> 

<div class="form-group"> 
<label>Street</label> 
<input type= "text" class="form-control" name="street" ngModel>  
</div> 


<div class="form-group"> 
<label>City</label> 
<input type= "text" class="form-control" name="city" ngModel>  
</div> 


<div class="form-group"> 
<label>Postal Code</label> 
<input type= "text" class="form-control" name="pcode" ngModel>  
</div> 

<button class="btn btn-primary">SUBMIT</button> 
</form>  
</div>  

Bitte lassen Sie mich wissen, warum ng-Modell in jedem Eingabeelement des obigen Codes verwendet wird? der kerl in video erklärt, dass es jedes eingabeelement mit form bindet, aber ich konnte nicht verstehen, wie es bindet, der genaue fluss? Soll ich es einfach als Syntax betrachten? Bitte helfen Sie mir mit dieser

+0

Aus der offiziellen Dokumentation: * Die NgForm-Anweisung ergänzt das Formularelement um zusätzliche Funktionen. Es enthält die Steuerelemente, die Sie für die Elemente mit einer 'ngModel'-Direktive und einem 'name' -Attribut erstellt haben, und überwacht deren Eigenschaften, einschließlich ihrer Gültigkeit. * Deshalb brauchen Sie es. Genauso wie Sie ngModel zum Binden von Variablen verwenden, müssen Sie Ihre Formularsteuerelemente an das Formular binden. Ohne das Attribut 'name' und' ngModel' würden Sie nur ein leeres Formularobjekt erhalten, da Sie nichts daran gebunden haben. – Alex

Antwort

0

NgModel ist keine Voraussetzung für jedes Eingabeelement, das Sie verwenden. Bitte schauen Sie sich angular official doc

Auch rangle.io hat eine Menge Zeug über ng2 und ist gut erklärt.

Im Allgemeinen ngModel verwendet nur für 2-Wege-Datenbindung wo notwendig ist. Angular 2 unterstützt standardmäßig 1-Wege-Datenbindung

+0

Diese Antwort ist einfach falsch. Du brauchst 'ngModel' hier, um es an das Formular zu binden, es sagt es sogar in dem Dokument, das du verlinkt hast (von dem ich den Auszug für meinen Kommentar ausgewählt habe) – Alex

Verwandte Themen