以反应形式使用 [(ngModel)] 是不好的做法吗?

Nic*_*las 5 forms angular

我开始在我的角度应用程序中使用基于模型的表单。到目前为止,我一直在起诉基于模板的表单,并使用[(ngModel)].

我注意到[(ngModel)]以反应形式使用是可能的,但我一直在堆栈上读到这是一个不好的做法,但我在文档中找不到(或错过)任何有关此的内容。

当您使用反应式表单时,您是否真的应该避免使用?如果是这样,将数据绑定到输入的正确方法是什么?

现在我做这样的事情:

我的组件:

this.assignForm = this.fb.group({
    "balance": [null, Validators.required]
});
Run Code Online (Sandbox Code Playgroud)

我的模板

<input type="text" formControlName="balance" [(ngModel)]="myData.Balance" />
Run Code Online (Sandbox Code Playgroud)

小智 2

您的问题标题和问题完全混合了基于模型和反应式,您的代码将它们结合使用。使用这两个组合结果绝对不能保证您看到的值和表单控制器包含的值相等。只是不要这样做。

正确的方法是:

this.assignForm = this.fb.group({
    "balance": [myData.Balance, Validators.required]
});
Run Code Online (Sandbox Code Playgroud)

  • 这个问题并没有混淆:作者是在问这种组合是否可能。“*使用两个组合结果绝对不能保证您看到的值和表单控制器包含的值相等*”&gt;这似乎是您答案的关键部分;你能扩展一下吗? (2认同)