diff --git a/src/cdk/scrolling/virtual-scroll-viewport.ts b/src/cdk/scrolling/virtual-scroll-viewport.ts index 494794ec5e1b..ba6e26896e82 100644 --- a/src/cdk/scrolling/virtual-scroll-viewport.ts +++ b/src/cdk/scrolling/virtual-scroll-viewport.ts @@ -179,7 +179,7 @@ export class CdkVirtualScrollViewport extends CdkVirtualScrollable implements On private _injector = inject(Injector); - private _isDestroyed = false; + private _destroyRef = inject(DestroyRef); constructor(...args: unknown[]); @@ -211,7 +211,7 @@ export class CdkVirtualScrollViewport extends CdkVirtualScrollable implements On // effect that runs before change detection of any application views (since we're depending on markForCheck marking parents dirty) {injector: inject(ApplicationRef).injector}, ); - inject(DestroyRef).onDestroy(() => void ref.destroy()); + this._destroyRef.onDestroy(() => void ref.destroy()); } override ngOnInit() { @@ -262,8 +262,6 @@ export class CdkVirtualScrollViewport extends CdkVirtualScrollable implements On this._detachedSubject.complete(); this._viewportChanges.unsubscribe(); - this._isDestroyed = true; - super.ngOnDestroy(); } @@ -512,7 +510,7 @@ export class CdkVirtualScrollViewport extends CdkVirtualScrollable implements On /** Run change detection. */ private _doChangeDetection() { - if (this._isDestroyed) { + if (this._destroyRef.destroyed) { return; }