Koskamo

Signals for fine-grained reactivity

Document v1 · published by Koskamo editorial · updated 2026-10-04

Original source

Angular Signals granularly track state usage to optimize rendering. A signal wraps a value, notifying consumers upon change; read via getter calls like count() to allow tracking. Writable signals, created with signal(), support .set() for direct assignment or .update() to compute new values from previous ones. Convert writable signals to readonly using asReadonly(), exposing values without modification rights, though note this lacks deep-mutation prevention. Computed signals derive values from others via the computed function, offering lazy evaluation and memoization to cache results until dependencies change. Dependencies are dynamic; only signals read during derivation are tracked, meaning conditional logic affects which signals trigger recomputation. Computed signals are read-only and produce compilation errors if assigned directly. In services, keep writable state private and expose it through asReadonly() so consumers can read shared reactive state without mutating it. Scope: Angular. Reviewed October 4, 2026.

Source and provenance

Original source
angular.dev
Published on Koskamo by
Koskamo editorial
Citation version
Document v1
Reuse
Original summaries; linked sources retain their own terms.

The original source supplies the underlying information. Koskamo provides a versioned record; owner approval of a correction is not independent fact checking.