Jetzt habe ich eine erste Seite, auf der ich drei Links habe. Sobald Sie auf den letzten Link "Freunde" klicken, wird die entsprechende Freundeskomponente initiiert. Dort möchte ich eine Liste meiner Freunde abrufen / abrufen, die in der Datei friends.json gespeichert ist. Bis jetzt funktioniert alles gut. Aber ich bin immer noch ein Neuling für den HTTP-Dienst von angle2, der das Observable-, Map- und Subscribe-Konzept von RxJs verwendet. Ich habe versucht, es zu verstehen und einige Artikel zu lesen, aber bis ich in die praktische Arbeit komme, werde ich diese Konzepte nicht richtig verstehen.
Hier habe ich bereits plnkr gemacht, das außer HTTP-bezogene Arbeit funktioniert.
myfriends.ts
import {Component,View,CORE_DIRECTIVES} from 'angular2/core';
import {Http, Response,HTTP_PROVIDERS} from 'angular2/http';
import 'rxjs/Rx';
@Component({
template: `
<h1>My Friends</h1>
<ul>
<li *ngFor="#frnd of result">
{{frnd.name}} is {{frnd.age}} years old.
</li>
</ul>
`,
directive:[CORE_DIRECTIVES]
})
export class FriendsList{
result:Array<Object>;
constructor(http: Http) {
console.log("Friends are being called");
// below code is new for me. So please show me correct way how to do it and please explain about .map and .subscribe functions and observable pattern.
this.result = http.get('friends.json')
.map(response => response.json())
.subscribe(result => this.result =result.json());
//Note : I want to fetch data into result object and display it through ngFor.
}
}
Bitte führen und erklären Sie richtig. Ich weiß, dass es für viele neue Entwickler von großem Nutzen sein wird.