← All notes

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

Sources

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

Permanent ID: iil:note:xyhjeerr

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.},
}

Markdown

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.