ตอนนี้ฉันมีหน้าเริ่มต้นที่ฉันมีสามลิงก์ เมื่อคุณคลิกที่ลิงก์ 'เพื่อน' ครั้งล่าสุดคอมโพเนนต์เพื่อนที่เหมาะสมจะได้รับการเริ่มต้น ในนั้นฉันต้องการดึงข้อมูล / รับรายชื่อเพื่อนของฉันที่เข้าสู่ไฟล์ friends.json จนถึงตอนนี้ทุกอย่างทำงานได้ดี แต่ฉันยังคงเป็นมือใหม่สำหรับบริการ HTTP ของ angular2 โดยใช้แนวคิดแผนที่ของ RxJs ที่สังเกตได้ ฉันพยายามที่จะเข้าใจและอ่านบทความไม่กี่ แต่จนกระทั่งฉันได้ทำงานจริงฉันจะไม่เข้าใจแนวคิดเหล่านั้นอย่างถูกต้อง
ที่นี่ฉันได้ทำ 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.
}
}
กรุณาแนะนำและอธิบายอย่างถูกต้อง ฉันรู้ว่ามันจะเป็นประโยชน์ต่อนักพัฒนาใหม่จำนวนมาก