Я довольно новичок в использовании Angular. В настоящее время я внедряю таблицы данных в веб-страницу. Для этого я следую этому руководству: https://l -lin.github.io / angular-datatables / # / basic / server-side-angular-way .
Несмотря наруководство, я дал ему свой собственный поворот. В результате в глючной дататабельно. Нет нумерации страниц, все имена на одной странице, данные теряются после поиска имени, ..
Я использую forkJoin внутри dtOptions, может быть, это ошибка? Кто-нибудь получил идею?
Мой код
export class NewPackageComponent implements OnInit {
dtOptions: DataTables.Settings = {};
pageEvent: PageEvent;
clickedTransactionID: string;
packagesArray: string[]
constructor(public packageToolkitService: PackageToolkitService) { }
ngOnInit(): void {
let that = this;
this.dtOptions = {
pagingType: 'full_numbers',
pageLength: 10,
processing: true,
ajax: (dataTablesParameters: any, callback) => {
forkJoin([that.packageToolkitService.getPackages()])
.subscribe(packages => {
that.packagesArray = packages[0]['packageNames']
})
}
};
}
PackageToolkitService
getPackages() {
return this.http.get(buildUrl('.gui.wmPackage/_get?'), httpOptions);
}
HTML
<table datatable [dtOptions]="dtOptions" class="row-border hover">
<thead>
<tr>
<th>NAME</th>
</tr>
</thead>
<tbody *ngIf="packagesArray?.length != 0">
<tr *ngFor="let package of packagesArray">
<td>{{ package }}</td>
</tr>
</tbody>
<tbody *ngIf="packagesArray?.length == 0">
<tr>
<td colspan="3" class="no-data-available">No data!</td>
</tr>
<tbody>
</table>
JSON GET Response
{
"requestHdrs": {
"Content-Type": "application/json",
},
"packageMap": [
{
"build": "161",
"name": "WmTN",
"description": "Trading Networks",
"version": "10.1.0.0.161"
},
{
"build": "",
"name": "test",
"description": "",
"version": ""
},
{
"name": "be_nrb_rst_shared_party_v2",
"version": "2.0.0"
}
],
"packageNames": [
"WmTN",
"test",
"be_nrb_rst_shared_party_v2"
]
}
Кто-нибудь получил идею?