Angular Reactive Forms vs ngModel,哪个性能更好? [关闭]

Posted

技术标签:

【中文标题】Angular Reactive Forms vs ngModel,哪个性能更好? [关闭]【英文标题】:Angular Reactive Forms vs ngModel, which has better performance? [closed] 【发布时间】:2022-01-23 23:45:21 【问题描述】:

我试图了解两者中哪一个具有更好的性能,我猜表单的类型对于响应很重要,在我的情况下,我正在尝试创建一些 ControlValueAccessor 组件,每个组件都包含一个 mat-autocomplete 字段,目标是在更大的响应式表单元素中使用它,我想在 ControlValueAccessor 组件中使用响应式表单实现,但我不知道它是否会对性能产生负面影响,也许在响应式表单中使用 ngModel 会更好

【问题讨论】:

【参考方案1】:

角度形式

性能没有明显差异。你不应该以此为基础做出选择。

模板表单

模板表单虽然易于使用,但很难进行单元测试。 Angular 只会为你生成模型。这是在转译期间完成的,因此不会影响生产中的性能。

模型表格

与模板表单相比,模型表单(或反应式表单)更容易在单元测试中进行测试。您必须自己创建模型。这会导致您的 component.ts 文件中有更多代码。

我的想法

换句话说,如果您计划测试或对表单有特殊需求,您可能希望使用响应式表单。

如果您不打算编写测试,您对表单的需求比较基本,或者您的团队使用 Angular 的整体技能比较低,可以选择简单的解决方案并使用模板表单。

【讨论】:

以上是关于Angular Reactive Forms vs ngModel,哪个性能更好? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Angular Reactive Forms 重置值

Angular Reactive Forms,patchValue 不起作用,嵌套表单

如何为Angular Reactive Forms创建自定义验证器

Angular 9 Reactive Forms:使用 trackBy 时复选框未更新

Angular 2 Reactive Forms 问题如何以角度方式而不是 jquery 方式进行

如何使用 Reactive Forms (Angular2 RC3) 进行异步验证?