mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This change treats all views attached to `ApplicationRef` as `OnPush`, meaning that they have to be explicitly marked for check in order to be refreshed when a tick happens. This prevents "accidentally" refreshing views which have `Default` change detection as a side effect of running change detection from an unrelated notification. In addition, this change helps us achieve one of the big goals of the project: that we can provide a testing experience which gives developers more confidence that a component is zoneless-compatible. Because `ComponentFixture` change detection is run through `ApplicationRef` instead of `ChangeDetectorRef` when zoneless is enabled, this ensures that the component under test has correctly been marked for check in order to be updated. Without this, calling `ComponentFixture.detectChanges` would allow a test to _force_ change detection on a view when Angular would have otherwise not known that it needed to be updated. Calling `ComponentFixture.detectChanges` on a component which is not marked for check will now omit refreshing component view. PR Close #55099 |
||
|---|---|---|
| .. | ||
| src | ||
| BUILD.bazel | ||
| index.ts | ||
| PACKAGE.md | ||
| public_api.ts | ||