fix(virtual-scroll): create views inside zone

fixes #10451
This commit is contained in:
Manuel Mtz-Almeida
2017-04-19 15:55:12 +02:00
parent 27cb360eac
commit fd3c6baec7
2 changed files with 15 additions and 12 deletions

View File

@ -501,6 +501,7 @@ export class VirtualScroll implements DoCheck, AfterContentInit, OnDestroy {
adjustRendered(cells, data);
this._zone.run(() => {
populateNodeData(
data.topCell, data.bottomCell,
data.viewWidth, true,
@ -508,8 +509,9 @@ export class VirtualScroll implements DoCheck, AfterContentInit, OnDestroy {
this._itmTmp.viewContainer,
this._itmTmp.templateRef,
this._hdrTmp && this._hdrTmp.templateRef,
this._ftrTmp && this._ftrTmp.templateRef, needClean
this._ftrTmp && this._ftrTmp.templateRef, needClean,
);
});
if (needClean) {
this._cd.detectChanges();

View File

@ -233,9 +233,10 @@ export function populateNodeData(startCellIndex: number, endCellIndex: number, v
availableNode.cell = cellIndex;
// apply the cell's data to this node
availableNode.view.context.$implicit = cell.data || records[cell.record];
availableNode.view.context.index = cellIndex;
availableNode.view.context.count = recordsLength;
var context = availableNode.view.context;
context.$implicit = cell.data || records[cell.record];
context.index = cellIndex;
context.count = recordsLength;
availableNode.hasChanges = true;
availableNode.lastTransform = null;
hasChanges = true;