绑定到[value]不会更新FormControl的值

时间:2018-08-06 14:41:29

标签: angular angular-reactive-forms

更多信息:

我有一个物品清单。每个项目都是MyClass的一个实例。 MyClass有一个属性text和一个返回该属性的方法someMethod()

我有一个*ngFor,该页面列出了页面上的所有项目,当我单击其中的一项时,(click)="currentItem = item"被执行,而[value]="someMethod()"实际上是[value]="currentItem.someMethod()",因此选中项目的文本被写入到文本区域。


我正在使用反应式表单,并且模板中包含以下内容:

<textarea formControlName="myTextarea" [value]="someMethod()" ...

页面呈现并且someMethod()输出一个字符串时,我可以看到该字符串显示在文本区域内。

但是,value的{​​{1}}属性未更新。为什么?

2 个答案:

答案 0 :(得分:1)

查看此链接https://coursetro.com/posts/code/108/Angular-5-Interpolation,-Property-Binding-&-Event-Binding-Tutorial#

您可以将[(ngModel)]与反应形式一起使用。

<form [formGroup]="form">
<input name="fname" formControlName="first" [(ngModel)]="example.first">
<input name="lname" formControlName="last" [(ngModel)]="example.last">
</form>
export class App {
form: FormGroup;
example = { fname: '', lname: ''}
constructor(builder: FormBuilder) {
 this.form = builder.group({ first: '', last:''}) 
}
}

答案 1 :(得分:0)

那是因为您要在[value]中调用SomeMethod()。

您到底要找什么?

在这里FormGroup