Рассматривая вашу проблему, я предполагаю, что ваш список googleDrivers
извлекается асинхронно (если нет, предоставьте дополнительную информацию о коде). В этом случае вы должны использовать dtTrigger
, который просто уведомляет таблицу о необходимости визуализации после получения данных. Вы можете сделать это, просто позвонив по номеру next()
. См. документы
Кроме того, вы должны использовать *ngFor
в теге <tr>
.
Пример шаблона:
<table datatable id="driverTable" class="table table-striped" [dtTrigger]="dtTrigger">
<thead class="thead-dark">
<tr>
<th scope="col">Name</th>
<th scope="col">Distance</th>
<th scope="col">Time</th>
<th scope="col">View Info</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let driver of googleDrivers">
<td>{{driver.Name}}</td>
<td>{{driver.Distance}}</td>
<td>{{driver.Duration}}</td>
<td>Some button</td>
</tr>
</tbody>
</table>
Пример минимальной асинхронной c загрузки данных в коде вашего компонента:
export class AppComponent implements OnInit {
public googleDrivers: any[] = [];
public dtTrigger: Subject<void> = new Subject();
public ngOnInit(): void {
this.fetchData().then(data => {
this.googleDrivers = data;
this.dtTrigger.next(); // call trigger next() after data loaded
});
}
}