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);