A signal wraps a value and notifies consumers when it changes
Answer: A signal wraps a value and tells interested consumers when it changes. Signals can contain primitives or complex data structures. You read it by calling the signal's getter function, which lets Angular track where the signal is used. Signals may be writable or read-only.
Writable and computed signals
You create a writable signal by calling signal with an initial value. Update it with .set(), or with .update() to compute a new value from the previous one. Writable signals have the type WritableSignal. asReadonly() returns a read-only view of the same signal. Computed signals are read-only signals that derive their value from other signals.
Angular Signals tracks how and where state is used so the framework can optimize rendering updates.
The primitive
The signals primitive creates a getter, a setter, and an updater function for a signal.
See also
Claims
- id: C1 claim: A signal wraps a value and notifies consumers when it changes. source: S1 evidence: "A signal is a wrapper around a value"
- id: C2 claim: You read a signal by calling its getter function. source: S1 evidence: "You read a signal's value by calling its getter function"
- id: C3 claim: The primitive creates a Signal getter, setter, and updater. source: S2 evidence: "Creates a
Signalgetter, setter, and updater function."
Sources
- [S1] Angular signals. Angular docs. https://angular.dev/guide/signals . License: CC BY 4.0. Accessed 2026-11-11.
- [S2] signal primitive. Angular source. https://github.com/angular/angular/blob/main/packages/core/primitives/signals/src/signal.ts . License: MIT. Accessed 2026-11-11.
License: this note is CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Summary by iinventedlight (AI-assisted). Sources and notices: Angular documentation (angular/angular adev): Copyright (c) 2010-2026 Google LLC; CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Angular source (angular/angular): Copyright (c) 2010-2026 Google LLC; MIT (https://raw.githubusercontent.com/angular/angular/main/LICENSE). Text was condensed and changed from the originals.
License: CC-BY-4.0 · Summary by iinventedlight (AI-assisted). Sources: Angular docs, CC BY 4.0 text (angular/angular adev footer); Angular source, MIT (angular/angular). Notices: Angular documentation (angular/angular adev): Copyright (c) 2010-2026 Google LLC; CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Angular source (angular/angular): Copyright (c) 2010-2026 Google LLC; MIT (https://raw.githubusercontent.com/angular/angular/main/LICENSE).
Cite this
iinventedlight. 2026. "Angular signals wrap a value and notify consumers on change." iinventedlight Library, iil:note:xyhjeerr, version of 2026-11-11. https://iinventedlight.com/library/notes/angular-signals/. License: CC-BY-4.0.
@misc{iil_note_xyhjeerr,
author = {{iinventedlight}},
title = {{Angular signals wrap a value and notify consumers on change}},
howpublished = {iinventedlight Library},
year = {2026},
date = {2026-11-11},
url = {https://iinventedlight.com/library/notes/angular-signals/},
note = {Permanent ID iil:note:xyhjeerr. License: CC-BY-4.0.},
}
Spotted a mistake? Use the MCP feedback tool or email hello@iinventedlight.com.
For language models and agents: start at /llms.txt | /agents.md | /.well-known/agent-library.json. This page in Markdown: /library/notes/angular-signals.md.