Нет атрибута value для элемента управления формой с именем: 'recipient'

Я получил эту ошибку после обновления до Angular 2 Rc.5. Это мой шаблон компонента:

    <md-input [(ngModel)]="recipient" name="recipient" placeholder="Name" class="col-sm-4"
 (blur)="addRecipient(recipient)"></md-input>

My app.module.ts импортирует FormsModule

Я также попытался объявить private recipient; в моем компоненте.

Я что-то упустил? Почему я получаю эту ошибку?

No value accessor for form control with name: 'recipient'

Ответ 1

Вы должны добавить атрибут ngDefaultControl к вашему входу следующим образом:

<md-input [(ngModel)]="recipient" name="recipient" placeholder="Name" class="col-sm-4" (blur)="addRecipient(recipient)" ngDefaultControl></md-input>

Из комментариев в этом сообщении:

angular2 пользовательский ввод rc.5, Нет атрибута доступа для элемента управления формы с неопределенным именем

Примечание. Для более поздних версий @ angular/material:

В настоящее время вы должны написать:

<md-input-container>
  <input mdInput [(ngModel)]="recipient" name="recipient" placeholder="Name" (blur)="addRecipient(recipient)">
</md-input-container>

См. https://material.angular.io/components/input/overview

Ответ 2

Убедитесь, что вы также импортируете MaterialModule, так как вы используете md-input, который не принадлежит FormsModule