现在,我有一个初始页面,其中有三个链接。一旦单击最后一个“朋友”链接,就会启动适当的朋友组件。在这里,我想获取/获取存放在friends.json文件中的朋友列表。到现在为止一切正常。但是,我仍然是使用RxJs的可观察,映射,订阅概念的angular2 HTTP服务的新手。我试图理解它并读了几篇文章,但是直到我投入实际工作之前,我不会正确地理解那些概念。
在这里,我已经制作了plnkr,除了HTTP相关的工作外,该工作都在工作。
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.
}
}
请正确指导和解释。我知道这将对许多新开发人员如此有益。