我看到angular form有下面的方法registerControl()
,但我不能真正理解它的用法
有人对此有很好的解释和用例吗?
我觉得我错过了一些有用的东西。
谢谢你的帮助。
编辑
我已经阅读了角度解释,但无法理解
https://github.com/angular/angular/blob/13.1.x/packages/forms/src/model.ts
基本上,我们在不调用对值和有效性的检查的情况下向表单添加另一个控件,所以当您想要使用它时,不会有太多情况
我脑海中唯一想到的情况是,当你想在不调用值和有效性检查的情况下注册多个控件,并在添加所有需要的控件后手动调用此类检查,这样它只会被触发一次。
例如,如果我使用addControl 3次,它将调用updateValueAndValidity 3次。但是,如果我先注册Control3次,然后在这3个新控件上手动调用updateValueAndValidity或SetControl等,那么它只会被调用一次。
总之,它似乎更多的是关于优化。我没有为此创建任何检查,但老实说,如果这能节省很多时间,我会感到惊讶。
registerControl()
方法-向组的控件列表注册控件。
registerControl(name: string, control: AbstractControl): AbstractControl
参数:name
:string
要在集合中注册的控件名称
control
:AbstractControl
提供对给定名称的控制
返回AbstractControl
。
此方法不会更新控件的值或有效性。
例如,如果我使用addControl
3次,它将调用updateValueAndValidity
3次,但如果我首先调用registerControl
3次,然后在这3个新控件上手动调用updateValueAndValidity
或SetControl
等,那么它将只调用一次。
总之,它似乎更多的是关于优化。