Max*_*kyi 15 angular2-forms angular
这些文档陈述如下:
如果emitEvent为true,则此更改将导致FormControl上的valueChanges事件被发出.默认为true(因为它落到updateValueAndValidity).
这是什么updateValueAndValidity?
Gün*_*uer 15
您可以订阅控件或整个表单的值更改.
updateValueAndValidity允许您修改一个或多个表单控件的值,该标志允许您指定是否要将此值发送给valueChanges订阅者.
Sim*_*ver 15
源代码有助于清楚地了解它在做什么:
https://github.com/angular/angular/blob/master/packages/forms/src/model.ts
Run Code Online (Sandbox Code Playgroud)
目前它似乎正在执行以下操作(此列表基于方法名称):
.status'VALID' 除非所有控件都被禁用,在这种情况下它使它成为 'DISABLED'.value如果控件被启用,这似乎设置,或者如果禁用则清除它。value和status正常形态事件。onlySelf设置。注意:它不会从树上下来,只会向上。
我希望他们能在文档中加入这样的内容。他们目前说“重新计算控件的值和验证状态”。这不是特别有帮助。
小智 5
该updateValueAndValidity()方法属于 AbstractFormControl 类,用于以编程方式验证表单。
基本上,当您在运行时添加或删除验证器时,必须调用updateValueAndValidity()新的验证才能生效。