サービスによって提供されるAngular 2の観測値からアイテムを取得しようとしています。これまでのところ、私はobservableを購読してコンソールの内容を見ることができますが、そのIDでアイテムをフィルタリングすることはできません。私は以下を試しましたが、空白の画面が表示されます。任意のヒントをいただきました。Observable Observable from Observable from Angular 2 in Typescript
service.ts:
getJobs() {
this.observableData = this._http.get('json_path/')
.map(res => res.json())
.do(val => {
this.result = val;
this.observableData = null;
})
.share();
return this.observableData;
}
component.ts:あなたはjobs.filter()
の結果を購読することができません
let id = this._routeParams.get('id');
this._jobService.getJobs().map(jobs => {
return jobs.filter(item => item.id === id)[0];
}).subscribe(job => this.job = job));
:
let id = this._routeParams.get('id');
this._jobService.getJobs().map(jobs => jobs.filter(item => item.id === id).subscribe(job => this.job = job)[0]);
これは私ですか? ntentional。あなたは 'getItems()'メソッドを投稿して、次に 'getJobs()'メソッドを使いました。 –
ああ、それは間違いだった。どちらもgetItems()またはgetJobs()のいずれかでなければなりません。ありがとう – skyscript