Mijn vraag
Hoe kan ik de volgende JSON data tonen in een mat-table mbv AngularJS
Mijn probleem is dat ik de JSON data niet goed geconverteerd krijg.
Ik zou dus graag de http.get methode aanpassen dat mijn data overeenkomt met mijn interface
JSONData:
{"dummyArray":[{"ID":1,"data":"data"}{"ID":2,"data":"data"}{"ID":3,"data":"data"}]
Relevante software en hardware die ik gebruik
AngularJS 6
Wat ik al gevonden of geprobeerd heb
De serviceprovider (heir zit wss mijn fout)
De interface
de dummytable.component.ts
de dummytable.component.html
Hoe kan ik de volgende JSON data tonen in een mat-table mbv AngularJS
Mijn probleem is dat ik de JSON data niet goed geconverteerd krijg.
Ik zou dus graag de http.get methode aanpassen dat mijn data overeenkomt met mijn interface
JSONData:
{"dummyArray":[{"ID":1,"data":"data"}{"ID":2,"data":"data"}{"ID":3,"data":"data"}]
Relevante software en hardware die ik gebruik
AngularJS 6
Wat ik al gevonden of geprobeerd heb
De serviceprovider (heir zit wss mijn fout)
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { Dummy } from '../models/dummy.model'; @Injectable() export class DummyService { constructor(private http: HttpClient) { } getDummy(): Observable<Dummy[]> { return this.http.get<Dummy[]>('http://localhost:8000/api/dummys'); } } |
De interface
JavaScript:
1
2
3
4
5
6
7
| export interface Dummy { DummyID: number; OS: string; machnr: number; posid: number; posname: string; } |
de dummytable.component.ts
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| import { Component, OnInit } from '@angular/core'; import { DummyService } from '../../services/dummy.service'; import { Observable } from 'rxjs'; import {DataSource} from '@angular/cdk/collections'; import { Dummy } from '../../models/dummy.model'; @Component({ selector: 'dummytable', templateUrl: './dummytable.component.html', styleUrls: ['./dummytable.component.css'] }) export class DummytableComponent implements OnInit { dataSource = new DummyDataSource(this.dummyService); displayedColumns = ['DummyID', 'OS', 'machnr', 'id']; constructor(private dummyService: DummyService) { } ngOnInit() { } } export class DummyDataSource extends DataSource<any> { constructor(private dummyService: DummyService) { super(); } connect(): Observable<Dummy[]> { return this.dummyService.getDummy(); } disconnect() {} } |
de dummytable.component.html
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <div> <mat-table [dataSource]="dataSource"> <ng-container matColumnDef="DummyID"> <mat-header-cell *matHeaderCellDef> Name </mat-header-cell> <mat-cell *matCellDef="let dummy"> {{ dummy.DummyID }} </mat-cell> </ng-container> <ng-container matColumnDef="OS"> <mat-header-cell *matHeaderCellDef> OS </mat-header-cell> <mat-cell *matCellDef="let dummy"> {{ dummy.OS }} </mat-cell> </ng-container> <ng-container matColumnDef="machnr"> <mat-header-cell *matHeaderCellDef> MachNr </mat-header-cell> <mat-cell *matCellDef="let dummy"> {{ dummy.machnr }} </mat-cell> </ng-container> <ng-container matColumnDef="id"> <mat-header-cell *matHeaderCellDef> PosID </mat-header-cell> <mat-cell *matCellDef="let dummy"> {{ dummy.id }} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row> </mat-table> </div> |