Angular › Angular Signals
Why did Angular introduce signals, given that RxJS observables already existed for managing changing values?
BeginnerAnswer
Signals provide a simpler way to manage values that change over time for many common cases, without needing to understand the broader concepts of RxJS, like subscribing and unsubscribing. Signals also let Angular track dependencies precisely, opening the door to more efficient change detection that only checks the exact parts of the page that actually changed.
// Signal, simple to read and update directly
count = signal(0);
this.count.set(5);
// Observable, more powerful but requires more setup for a similar simple case
count$ = new BehaviorSubject(0);
this.count$.next(5);Real-world example A team switches several simple pieces of component state from RxJS BehaviorSubjects to signals, finding the resulting code noticeably shorter and easier for newer team members to understand, while keeping RxJS for genuinely complex asynchronous data streams.