so versuche ich Daten von Api abzurufen und mit TastenauswahlWinkel 2 Objektschlüssel Auswahl
app/app.component.ts
import {Component} from 'angular2/core';
import {Http} from 'angular2/http';
import {httpServiceClass} from './service';
import {HTTP_PROVIDERS} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import {Api} from './api';
@Component({
selector: 'my-app',
templateUrl: 'mytemplate.html',
providers:[httpServiceClass,HTTP_PROVIDERS]
})
export class AppComponent implements OnInit{
private api:Api[];
constructor(private getservice:httpServiceClass){
}
ngOnInit(){
this.getservice.httprequest()
.subscribe(data => this.api = data);
}
}
Servicedatei
app/App abrufen kann nicht .service.ts
import {Injectable} from 'angular2/core';
import {Http, HTTP_PROVIDERS} from 'angular2/http';
import 'rxjs/add/operator/map';
import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx';
import {Api} from './api';
@Injectable()
export class httpServiceClass{
constructor(private http: Http){}
httprequest(): Observable<Api[]>{
return this.http.get(' http://date.jsontest.com')
.map(response => response.json());
}
}
api.ts
export interface Api{
time:string;
date:string;
}
mytemplate.html
<h1 >HTTP : {{api|json}}</h1>
kehrt HTTP: { "Zeit": "01.52.41", "milliseconds_since_epoch": 1472910761126, "Datum": "2016.09.03"}
habe ich versucht, durch Schlüssel
<h1 >HTTP : {{api.time}}</h1>
kehrt in Konsole
AUSNAHME Auswahl: Kann nicht finden Unterstützendes Objekt unterscheiden [Objekt Objekt] 'in [API in AppComponent @ 0: 4]
deklarieren Sie 'api' als ein Array von Daten:' Api [] 'in' AppComponent'. Wenn Sie dann 'api | json' in der Vorlage anzeigen, sehen wir, dass es sich um ein Objekt handelt. Du solltest zuerst deinen Code reparieren. – jobou
Bin jetzt verwirrt, welchen Typ soll ich 'api' deklarieren? –
Ich denke, es sollte "Api" sowohl in "AppComponent" und "httprequest" sein. Beachten Sie, dass Sie das OnInit-Ereignis nicht importieren. Sie importieren './Service', aber Ihre Datei heißt' app.service.ts'. Es gibt so viele kleine Fehler. Andere Leute, die Ihren Fehler haben, benutzen fast immer eine '* ngFor'-Schleife irgendwo in ihrer Vorlage. Benutzt du es? – jobou