Ich habe diesen Fehler nach dem Upgrade auf Angular 2 Rc.5 erhalten. Dies ist meine Komponentenvorlage:
<md-input
[(ngModel)]="recipient"
name="recipient"
placeholder="Name"
class="col-sm-4"
(blur)="addRecipient(recipient)">
</md-input>
Meine app.module.ts importiert die FormsModule
Ich habe auch versucht, private recipient;
in meiner Komponente zu deklarieren .
Vermisse ich etwas Warum erhalte ich diesen Fehler?
No value accessor for form control with name: 'recipient'
angular
typescript
angular-material2
TheUnreal
quelle
quelle
Antworten:
Sie sollten das ngDefaultControl-Attribut wie folgt zu Ihrer Eingabe hinzufügen:
<md-input [(ngModel)]="recipient" name="recipient" placeholder="Name" class="col-sm-4" (blur)="addRecipient(recipient)" ngDefaultControl> </md-input>
Entnommen aus den Kommentaren in diesem Beitrag:
Angular2 RCC.5 Benutzerdefinierte Eingabe, Kein Wert Accessor für die Formularsteuerung mit nicht angegebenem Namen
Hinweis: Für spätere Versionen von @ angle / material:
Heutzutage sollten Sie stattdessen schreiben:
<md-input-container> <input mdInput [(ngModel)]="recipient" name="recipient" placeholder="Name" (blur)="addRecipient(recipient)"> </md-input-container>
Siehe https://material.angular.io/components/input/overview
quelle
Stellen Sie sicher, dass Sie auch MaterialModule importieren, da Sie md-input verwenden, das nicht zu FormsModule gehört
quelle