Cześć, robię aplikacje w Angular 6 która pobiera dane z JSON API ma wyświetlić je w tablicy i po kliknięciu w nazwę dane mają się przesortować. Haczyk w tym że nie mogę używać żadnych dodatkowych bibliotek.
Kod z ts
export class AppComponent implements OnInit {
readonly ROOT_URL = '...';
datas: Observable<Data[]>;
constructor(private http: HttpClient) {
}
sortTable(parm) {
/*this.datas.subscribe(item => item.sort());*/
this.datas.subscribe(item => item.sort((a: any, b: any) => {
return a[parm] - b[parm];
}));
}
getDatas() {
this.datas = this.http.get<Data[]>(this.ROOT_URL);
}
ngOnInit() {
this.getDatas();
}
}
Interfejs pobranych danych
export interface Data {
long: string;
perc: number;
price: number;
}
i html
<div class="col-md-6">
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col" (click)="sortTable(long)">Nazwa</th>
<th scope="col">Cena</th>
<th scope="col">Zmiana(24h)</th>
</tr>
</thead>
<tbody *ngFor="let data of datas | async" style="font-size: 12px;">
<tr>
<td>{{ data.long }}</td>
<td>{{ data.price }} $</td>
<td>{{ data.perc }} %</td>
</tr>
</tbody>
</table>
</div>
Proszę o pomoc bo już nie daję rady