角度寄存器控制()方法的作用是什么



我看到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

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

例如,如果我使用addControl3次,它将调用updateValueAndValidity3次,但如果我首先调用registerControl3次,然后在这3个新控件上手动调用updateValueAndValiditySetControl等,那么它将只调用一次。

总之,它似乎更多的是关于优化。

最新更新