没有名为“收件人”的窗体控件的值访问器

升级到角度2Rc.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'
148084 次浏览

确保您也导入了 Materials ialModule,因为您正在使用不属于 FormsModule 的 md-input

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

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

摘自本文的评论:

Angular2rc.5自定义输入,没有未指定名称的表单控件的值访问器

注: 对于以后版本的@顺角/材料:

现在你应该写:

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

参见 https://material.angular.io/components/input/overview