Нет доступа к значению для элемента управления формой с именем: 'recipient'


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

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

Мои приложения.модуль.ТС импорта FormsModule

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

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

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

2 ответа:

вы должны добавить атрибут 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

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