Ich bin nicht sicher, was ich in meinem Code vermisse, aber derzeit bin ich keine Fehler angezeigt, wenn ich es ausführen, aber ich sehe auch nicht die Ergebnisse, die ich erwarte. Ich habe eine JSON-Datei, die ich in ein Array geladen habe und möchte dieses Array durchlaufen und Teile seiner Daten auf der Seite anzeigen. Hierbekommen json Daten in ein Array angular2
ist das, was ich bisher:
Datei Service
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
@Injectable()
export class AddressDataService{
addressData: Array<any>;
constructor(private http:Http){ }
getAddressData(){
return this.http.get('./api/addressData.json')
.map((res:Response) => res.json());
}
}
JSON Datei
[{
"type": "home",
"id": 1
}, {
"type": "apartment",
"id": 2
}, {
"type": "homeless",
"id": 3
}]
Komponentendatei
import { Http } from '@angular/http';
import { AddressDataService } from './address.service';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
@Component({
selector: 'my-app',
templateUrl: '....',
styleUrls: ['./styles.css'],
providers: [AddressDataService]
})
constructor(private addressDataService: AddressDataService) {}
addressData = [];
getAddressData() {
this.addressDataService.getAddressData()
.subscribe(data => this.addressData = data);
}
HTML Datei
<div *ngFor="let addressDetail of addressData">
{{addressDetail.type}}
</div>
mache ich das der richtige Weg?
Wann rufen Sie 'getAddressData' für die Komponente auf? –
@ExplosionPills jetzt, dass Sie mich darauf aufmerksam gemacht haben, sehe ich tatsächlich nicht, dass ich 'getAddressData' in meiner Komponente anrufe - würde ich das in oninit Funktion tun, die ich erstellen muss? – bluePearl
Ich denke, "ngOnInit" wäre ein großartiger Ort, um dies zu tun –