Angular 尝试筛选可观察的属性,但属性不可用';在类型上不存在

Angular 尝试筛选可观察的属性,但属性不可用';在类型上不存在,angular,observable,Angular,Observable,我有一个可观察的getPages(),它返回一个数组,我正在尝试筛选属性parent等于'id'的所有页面。但我没有进步,因为我似乎无法访问该家长 Property 'parent' does not exist on type 'Page[]' log(this.wordpressService.getPages()) page-detail.component.ts(摘录) wordpress.service.ts(摘录) 我想以一个新的数组结束,该数组包含所有页面的过滤结果。但是我只是没

我有一个可观察的
getPages()
,它返回一个数组,我正在尝试筛选属性
parent
等于'id'的所有页面。但我没有进步,因为我似乎无法访问该
家长

Property 'parent' does not exist on type 'Page[]'
log(this.wordpressService.getPages())

page-detail.component.ts(摘录)

wordpress.service.ts(摘录)


我想以一个新的数组结束,该数组包含所有页面的过滤结果。但是我只是没有定义或者什么都没有,我假设这是因为这个page.parent。试图学习rxjs,我似乎不知道该怎么做。

您需要添加映射操作符。形式错误,我可以得出结论,你们是迭代整个对象

this.wordpressService.getPages()
  .pipe(map(pages => pages.filter((page) => page.parent === this.pageId)))
  .subscribe(page => this.filteredPage = page);

希望它有帮助

非常有帮助谢谢,代码是正确的-虽然我不知道结果是什么,但这不是对你的:D。我只是在看这里的例子。这一切看起来都很简单,
export class PageDetailComponent implements OnInit {
  pageId: Number;
  filteredPage = [];

  constructor(private route: ActivatedRoute, private wordpressService: WordpressService) {}

 this.wordpressService.getPages()
  .pipe(filter(page => page.parent === this.pageId))
  .subscribe(page => this.filteredPage = page);
}
import {HttpClient} from '@angular/common/http';
import {Page} from './page';

constructor(private http: HttpClient) {}

getPages(): Observable<Page[]> {
  return this.http.get<Page[]>(`${this.API}/pages`);
}
export interface Page {
  id: number;
  date: string;
  date_gmt: string;
  guid: GUID;
  modified: string;
  modified_gmt: string;
  ...
  parent: number;
}
this.wordpressService.getPages()
  .pipe(map(pages => pages.filter((page) => page.parent === this.pageId)))
  .subscribe(page => this.filteredPage = page);