Signals · Counter
Reactive counter using signal(), .set(), .update(), and computed(). No zone.js needed.
Current value
0
Doubled
0
Parity
even
History (last 10)
Signals · Derived State (computed() + effect())
Two input signals drive a computed() full name. An effect() appends a timestamped log entry whenever the derived value changes.
Full name (computed)
Ada Lovelace
Effect log (timestamped)
No entries yet — edit a field above.
Signals · linkedSignal() Pattern & Signal Forms
linkedSignal() (Angular 19+) keeps a writable signal in sync with a source. This demo shows the manual pattern using signal() + effect(): the shipping selection resets to a valid default whenever the country changes. Below that, a plain signal is bound directly to an with no FormsModule. Angular 18 does not have linkedSignal() — this demonstrates the equivalent pattern manually. Upgrade to Angular 19+ to use native linkedSignal().
Country (source)
United States
Shipping (linked)
Change the country — the shipping selection automatically resets to the first valid option for the new country. This is the
signal() + effect() pattern (linkedSignal() in Angular 19+). Angular 18 does not have native linkedSignal() — upgrade to Angular 19+ for the built-in API. Live preview (signal value)
(empty)
Length: 0 · Uppercased: