смотри: ОШИБКА сталкивается из-за использования mf.data ... когда я удаляю mf из данных {(mf.) Data}, система хорошо отображается, но функции таблицы данных не будут работать.
ClientsComponents.html: 4 ОШИБКА Ошибка: ошибка при попытке изменить '[объект объекта]'.Разрешены только массивы и итерации в сервисном методе
для получения всех клиентов: использование Pipe и map из-за устаревшего 'do'
см. Мой импорт:
import { Injectable } from '@angular/core';
import { HttpClient, HttpEvent, HttpRequest } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
...
getClients(): Observable<Signup[]>{
return this.http.get<Signup[]>('http://localhost:8080/api/clients/all')
.pipe(map(data => return data));
}
Компонент для получения клиентов от угловой службы:
showClients(enable: boolean) {
this.showClient = enable;
if (enable) {
this.data = this.signupService.getClients();
//this.data = this.clients ;
console.log("Component : ");
console.log(this.data);
}
}
Шаблон таблицы данных HTML: точка останова : * ngFor триггеров :: Здесь допускаются только массивы или итерируемые ошибки ...
<div class="container">
<button class="button btn-info" *ngIf='showClient' (click)='showClients(false)'>Hide Clients</button>
<button class="button btn-info" *ngIf='!showClient' (click)='showClients(true)'>show Clients</button>
<div [hidden]="!showClient">
<div class="panel panel-primary">
<div class="panel-heading">List of clients</div>
<!-- start -->
<table class="table table-striped" [mfData]="data" #mf="mfDataTable" [mfRowsOnPage]="5">
<thead>
<tr>
<th style="width: 20%">
<mfDefaultSorter by="name">Name</mfDefaultSorter>
</th> ...
</thead>
<tbody>
<tr *ngFor="let x of mf.data | async" >
<td class="text-right">{{x.fname}}</td>
...