reference-signal-forms
Signal Forms Architecture
The packages/forms/signals directory contains an experimental, signal-based forms API for Angular.
This system differs significantly from the existing Reactive and Template-driven forms.
Mental Model
-
Model-Driven: The system is built around a
WritableSignal<T>which serves as the single source of truth. Unlike Reactive Forms where theFormControlholds the value, here theSignalholds the value. The form is merely a view or projection of that signal, adding form-specific state (validity, dirty, touched). -
Proxy-Based Traversal: The form API (
form(signal)) returns aFieldTree. This object is a Proxy. It allows accessing nested fields (e.g.,myForm.user.name) without manually creating control groups. Accessing a property on the proxy lazily resolves or creates the correspondingFieldNode. -
Schema-Based Logic: Validation, disabled state, and other metadata are defined separately via Schemas. Schemas are applied to the form structure using functions like
apply,applyEach(for arrays), andapplyWhen. This separates the structure of the data from the rules governing it.
More from angular/angular
angular-developer
Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.
1.0Kreference-core
Explains the mental model and architecture of the code under `packages/core`. You MUST use this skill any time you plan to work with code in `packages/core`
916adev-writing-guide
Comprehensive writing guide for Angular documentation (adev). Covers Google Technical Writing standards, Angular-specific markdown extensions, code blocks, and components. You MUST use this skill any time you plan to create, edit, or review documentation files in `adev/` or `adev/src/content`.
850reference-compiler-cli
Explains the mental model and architecture of the code under `packages/compiler-cli`. You MUST use this skill any time you plan to work with code in `packages/compiler-cli`
846pr review
Guidelines and tools for reviewing pull requests in the Angular repository.
462angular-new-app
Creates a new Angular app using the Angular CLI. This skill should be used whenever a user wants to create a new Angular application and contains important guidelines for how to effectively create a modern Angular application.
175