使用 Typescript 从 Angular 2 中的 Observable 获取项目
Get item from Observable in Angular 2 with Typescript
我正在尝试从 Angular 2 中由服务提供的可观察对象中获取项目。到目前为止,我可以订阅 observable 并在控制台中查看内容,但无法通过 ID 过滤掉某个项目。我在下面尝试了以下但得到一个空白屏幕。任何提示表示赞赏。
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:
let id = this._routeParams.get('id');
this._jobService.getJobs().map(jobs => jobs.filter(item => item.id === id).subscribe(job => this.job = job)[0]);
我想你想要这样的东西:
let id = this._routeParams.get('id');
this._jobService.getJobs().map(jobs => {
return jobs.filter(item => item.id === id)[0];
}).subscribe(job => this.job = job));
您无法订阅jobs.filter()
的结果
我正在尝试从 Angular 2 中由服务提供的可观察对象中获取项目。到目前为止,我可以订阅 observable 并在控制台中查看内容,但无法通过 ID 过滤掉某个项目。我在下面尝试了以下但得到一个空白屏幕。任何提示表示赞赏。
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:
let id = this._routeParams.get('id');
this._jobService.getJobs().map(jobs => jobs.filter(item => item.id === id).subscribe(job => this.job = job)[0]);
我想你想要这样的东西:
let id = this._routeParams.get('id');
this._jobService.getJobs().map(jobs => {
return jobs.filter(item => item.id === id)[0];
}).subscribe(job => this.job = job));
您无法订阅jobs.filter()