私はAngular 2 Tour of Heroesチュートリアルを行ってきましたが、サービスからデータを取得するためにlesson on using HTTPを理解していません。Angular 2チュートリアルでHTTPを理解する
ヒーローサービスのこのレッスンでは、変数heroesUrl
は「app/heroes」と宣言されています。/
import { InMemoryDbService } from 'angular-in-memory-web-api';
export class InMemoryDataService implements InMemoryDbService {
createDb() {
let heroes = [
{ id: 11, name: 'Mr. Nice (api)' },
{ id: 12, name: 'Narco' },
{ id: 13, name: 'Bombasto' },
{ id: 14, name: 'Celeritas' },
{ id: 15, name: 'Magneta' },
{ id: 16, name: 'RubberMan' },
{ id: 17, name: 'Dynama' },
{ id: 18, name: 'Dr IQ' },
{ id: 19, name: 'Magma' },
{ id: 20, name: 'Tornado' },
{ id: 21, name: 'Mister Man' }
];
return { heroes };
}
}
しかし、私はアプリケーション」と同じであると仮定ルーティングモジュール「ヒーロー」(中:
private heroesUrl = 'app/heroes'; // URL to web api
constructor(private http: Http) { }
getHeroes(): Promise<Hero[]> {
return this.http.get(this.heroesUrl)
.toPromise()
.then(response => response.json().data as Hero[])
.catch(this.handleError);
}
データは、静的配列としてメモリ内のデータサービスで宣言されていますヒーロー ')はHeroesComponentを指します。それは、その後HeroesComponentに、ではないデータ・ソースにhttp.get
バックを行いますHeroesComponent.getHeroes()
通話HeroService.getHeroes()
のように見える表面には
getHeroes(): void {
//Result of heroService.getHeroes is a Promise
this.heroService.getHeroes().then(heroesresult => this.heroes = heroesresult);
}
:HeroesComponentで
const routes: Routes = [
{ path: '', redirectTo: '/dashboard', pathMatch: 'full' },
{ path: 'dashboard', component: DashboardComponent },
{ path: 'detail/:id', component: HeroDetailComponent },
{ path: 'heroes', component: HeroesComponent }
];
getHeroes()
機能はthis.heroService.getHeroes()
関数を呼び出します。
私はすべて魔法のように動作しますが、HeroesServiceからthis.http.get(this.heroesUrl)
への呼び出しによってインメモリデータサービス内のデータがどのように取得されるかは説明されていません。
誰か理解してもらえますか?
'民間heroesUrlは= 'アプリ/英雄で改善する必要があるもののための提案を行ってきました。あなたのアプリケーションを開発するときに、あなたのURLでそのURLを置き換えて – eugene