angular registerControl() 方法用于什么

What is the angular registerControl() method for

看到angular表单有下面的方法registerControl(),但是没看懂它的用法
有人对此有很好的解释和用例吗?

我觉得我错过了一些有用的东西。

谢谢你的帮助。

编辑

我已经阅读了angular explanation但无法理解

https://github.com/angular/angular/blob/13.1.x/packages/forms/src/model.ts

基本上,我们在不调用值和有效性检查的情况下向表单添加另一个控件,因此您想要使用它的情况不会很多。

我在 atm 想到的唯一情况是,当您想注册多个控件而不调用值和有效性检查并在添加所有需要的控件后手动调用此类检查时,它只会被触发一次。

例如,如果我使用 addControl 3 次,它将调用 updateValueAndValidity 3 次。但是,如果我首先 registerControl 3 次,然后在这 3 个新控件上手动调用 updateValueAndValidity 或 SetControl 等,那么它只会被调用一次。

总结一下,好像更多的是优化。我没有为此创建任何支票,但老实说,如果这能节省很多时间,我会感到惊讶。

registerControl() 方法 - 向组的控件列表注册一个控件。

registerControl(name: string, control: AbstractControl): AbstractControl
参数:
name : string 要在集合中注册的控件名称

control : AbstractControl 提供对给定名称的控制

Returns
AbstractControl.

此方法不更新控件的值或有效性。

例如,如果我使用 addControl 3 次,它将调用 updateValueAndValidity 3 次,但如果我先使用 registerControl 3 次,然后手动调用 updateValueAndValiditySetControl 等在这 3 个新控件上然后它只会被调用一次。

总结一下,好像更多的是优化。