Wie konvertieren Beobachten<alle> array[]
Habe ich folgende Methode in Typoskript, ich zu binden, müssen eckige Gitter
CountryService
GetCountries() {
return this.http.get(`http://services.groupkt.com/country/get/all`)
.map((res:Response) => <CountryData[]>res.json().RestResponse["result"]);
}
GridComponent
template: `
<ag-grid-ng2 style="width: 100%" #agGrid class="ag-material"
rowHeight="50"
[gridOptions]="myGridOptions"
>
</ag-grid-ng2>
`,
this.myGridOptions.rowData= this.CountryService.GetCountries();
CountryData
export class CountryData{
name: string;
alpha2_code: string;
alpha3_code: string;
}
Aber GetCoutries zurück Beobachtbaren jeder, nicht zum binden an rowData?
Wie konvertieren Beobachten zu CountryData[] im Typoskript ?
finden Sie JSON-Daten hier: http://services.groupkt.com/country/get/all
- Sie brauchen, um sich in die Beobachtbar:
this.CountryService.GetCountries().subscribe(result => this.myGridOptions.rowData = result);
- Können Sie dies überprüfen, json services.groupkt.com/country/get/all wie konvertiert mein CountryData[]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie abonnieren Sie Ihre observablen:
Und in den html-Code, wo immer es benötigt wird, übergeben Sie den
async
Rohr dazu.this.myGridOptions.rowData
im Konstruktor?this.myGridOptions.rowData
undefined Mann. Verwenden Sie dazu die Konsole zu tun, die debuggingMit HttpClient (Http-s-Ersatz) in Eckige 4.3+, die gesamte mapping - /casting-Prozess ist vereinfacht/abgeschafft.
Mit Ihrem CountryData-Klasse, würde Sie definieren eine service-Methode wie diese:
Dann, wenn Sie es brauchen, definieren Sie ein array wie dieses:
abonnieren und es wie dieses:
Einem vollständigen setup Antwort wird hier gepostet auch.
Sollte dies funktionieren:
Damit dies funktioniert, müssen Sie den import der folgenden:
//Komponente. home.ts :
//reorderArray. akzeptiert nur Arrays
//Service . res.ts
Und es funktioniert