Skip to content

Commit e9f8517

Browse files
committed
fix(virtual-scroll): emit on viewChange inside the NgZone
1 parent 73d54a4 commit e9f8517

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/cdk/scrolling/virtual-for-of.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
IterableDiffer,
1818
IterableDiffers,
1919
NgIterable,
20+
NgZone,
2021
OnDestroy,
2122
SkipSelf,
2223
TemplateRef,
@@ -166,14 +167,15 @@ export class CdkVirtualForOf<T> implements CollectionViewer, DoCheck, OnDestroy
166167
/** The set of available differs. */
167168
private _differs: IterableDiffers,
168169
/** The virtual scrolling viewport that these items are being rendered in. */
169-
@SkipSelf() private _viewport: CdkVirtualScrollViewport) {
170+
@SkipSelf() private _viewport: CdkVirtualScrollViewport,
171+
ngZone: NgZone) {
170172
this.dataStream.subscribe(data => {
171173
this._data = data;
172174
this._onRenderedDataChange();
173175
});
174176
this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {
175177
this._renderedRange = range;
176-
this.viewChange.next(this._renderedRange);
178+
ngZone.run(() => this.viewChange.next(this._renderedRange));
177179
this._onRenderedDataChange();
178180
});
179181
this._viewport.attach(this);

0 commit comments

Comments
 (0)