Angular 2使用值绑定进行输入验证

时间:2017-05-24 17:02:35

标签: angular

我的项目中有一个带有这样输入的表单:

@Input()
article: Article;
ngOnInit() {
this.articleForm = this.formBuilder.group({
  title: [ '', Validators.required]
});

form.component.html:

<input class="form-control" formControlName="title"
           type="text" value="{{article ? article.title : ''}}" />

Article是具有title属性的Object,art​​icle是输入属性。

问题是当输入属性获得带有有效标题的文章时,输入值会更改为标题的值,但在无效状态下会奇怪地窃取!

任何人都能告诉我发生了什么吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这是因为反应形式没有记录value的值。如果您使用单向绑定,您的表单控件将注册它:

<input formControlName="title" [ngModel]="article?.title" />

注意safe navigation operator这里,如果没有值,它就不会抛出错误。