You do not need provideZonelessChangeDetection() to enable the default Angular 22 behavior. Neural UI 2 works in this model. In a migrated application, inspect provideZoneChangeDetection and the applicationโs Zone.js setup before assuming it uses the default. An explicit zoneless provider remains available when your application deliberately needs that configuration.
Click Calculate total. loading changes immediately, then the delayed calculation displays 80 and clears loading. The timer explicitly simulates background work on fixed data; it is not an empty persistence placeholder.
The asynchronous callback updates signals read by the template. Angular sees those updates without depending on a later unrelated event.
Mutating a plain object does not by itself notify a signal-based template. Keep the application data in a signal and use set or update for the value the view reads. Do not add manual refresh workarounds before checking the notification path.
Test the actual interaction with disabled/loading states and, when relevant, after hydration.