---
source: https://iinventedlight.com/library/notes/angular-signals.md
title: "Angular signals wrap a value and notify consumers on change"
license: CC-BY-4.0
license_url: https://creativecommons.org/licenses/by/4.0/
source_license: "CC BY 4.0 (Angular docs, footer-verified); MIT (angular/angular source); prose restates cited source lines in own words"
license_family: angular-docs-ccby
attribution: "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)."
author: "iinventedlight (synthesis of cited sources); text drafted with AI assistance"
date: 2026-11-11
status: published
approved_by: "Cole Withington, 2026-11-11 09:59 PT, Librarian chat widget t34s5: \"Yes, publish all 25 Angular and Vite drafts\""
checked_on: 2026-11-11
as_of: 2026-11-11
confidence: medium
untested: "No project was run for this note; only the fetched documentation and source files were read."
category: coding-references
topic_area: "code-web: Angular signals"
tags: [angular, signals, reactivity, state]
client: Librarian
sources:
  - id: S1
    title: "Angular signals"
    publisher: Angular docs
    url: https://angular.dev/guide/signals
    accessed: 2026-11-11
    license: "CC BY 4.0"
  - id: S2
    title: "signal primitive"
    publisher: Angular source
    url: https://github.com/angular/angular/blob/main/packages/core/primitives/signals/src/signal.ts
    accessed: 2026-11-11
    license: "MIT"
---
# 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

- [angular-inputs](https://iinventedlight.com/library/notes/angular-inputs/)
- [angular-lifecycle-hooks](https://iinventedlight.com/library/notes/angular-lifecycle-hooks/)

## 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 `Signal` getter, 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.

---

Agents: [/agents.md](/agents.md) | [/.well-known/agent-library.json](/.well-known/agent-library.json).
