this.exampleDatabase.getAllIssues()
носит асинхронный характер и может потребовать времени для завершения.Но ngAfterViewInit
будет вызван до этого.А поскольку dataSource
установлено в блоке subscribe
для this.exampleDatabase.getAllIssues()
, отсюда и ошибка.
Исправьте ее, переместив код из ngAfterViewInit
в блок subscribe
.Примерно так:
public loadData() {
this.exampleDatabase = new DataService(this.httpClient);
this.exampleDatabase.getAllIssues().subscribe(data => {
this.dataSource = new MatTableDataSource(data);
this.dataSource.data = data;
this.dataLength = data.length;
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
});
}
Вот Рабочий образец StackBlitz без ошибки для вашей ссылки.