没有名称为 'recipient' 的表单控件的值访问器

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

升级到 Angular 2 Rc.5 后出现此错误。 这是我的组件模板:

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

我的 app.module.ts 导入 FormsModule

我也尝试在我的组件中声明 private recipient;

我错过了什么吗?为什么会出现此错误?

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

确保您也导入了 MaterialModule,因为您使用的是不属于 FormsModule 的 md-input

您应该像这样将 ngDefaultControl 属性添加到您的输入中:

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

摘自 post 中的评论:

angular2 rc.5 custom input, No value accessor for form control with unspecified name

注意:对于@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