mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Move most of the implementation of the `Control` directive into core
framework instructions. This allows field state changes to be propagated
to their corresponding UI controls directly during execution of a
template update block, instead of relying on `effect()`s to synchronize
each change later during the update (and too late in the case of
required inputs).
* Define a private API in `@angular/core` for signal forms to implement:
* `ɵControl` for the `Control` directive.
* `ɵFieldState` for the control's associated `FieldState`.
* Emit specialized instructions when compiling a `[control]` binding:
* `ɵɵcontrolCreate` sets up the `ɵControl` directive if present,
determines whether it's bound to a native control element or a
custom control component, and adds the appropriate event listeners
to notify the `ɵFieldState` of UI changes.
* `ɵɵcontrol` propagates changes from `ɵFieldState` properties to their
corresponding UI control properties (in additional to binding the `control`
property itself).
PR Close #63773
|
||
|---|---|---|
| .. | ||
| expression_parser | ||
| i18n | ||
| ml_parser | ||
| output | ||
| render3 | ||
| schema | ||
| template/pipeline | ||
| template_parser | ||
| assertions.ts | ||
| chars.ts | ||
| combined_visitor.ts | ||
| compiler.ts | ||
| compiler_facade_interface.ts | ||
| config.ts | ||
| constant_pool.ts | ||
| core.ts | ||
| directive_matching.ts | ||
| injectable_compiler_2.ts | ||
| jit_compiler_facade.ts | ||
| parse_util.ts | ||
| resource_loader.ts | ||
| shadow_css.ts | ||
| style_url_resolver.ts | ||
| util.ts | ||
| version.ts | ||