Я пытаюсь показать пользователю несколько подробных журналов во время обработки файла.
У меня есть *ngFor='let log of _loggerService.logs'
в div
. Затем я выбираю файл из input
, читаю его (это csv) и регистрирую каждую строку с помощью
this._loggerService.verbose(`pushing row ${JSON.stringify(row)}`);
Однако div
появляется только после обработки всех строк файла, а не отображения одной строки за раз.
Вот мой сервис регистратора:
@Injectable()
export class LoggerService {
constructor(private changeDetectorRef: ChangeDetectorRef) { }
private logs: ILog[] = [];
private log(log: ILog) {
this.logs.push(log);
this.logs = this.logs.slice();
this.changeDetectorRef.markForCheck();
}
}
ОБНОВЛЕНИЕ:
Это работает, если я жду, скажем, 5 мс между каждой обработкой строки (и, следовательно, ведением журнала).
Обратите внимание, что я фактически удалил поле ChangeDetectorRef
, поскольку оно не требуется.
mat-paginator
, если нет, я могу добавить фрагмент кода, который я использовал. - person Ebraheem Alrabeea   schedule 31.10.2017