【发布时间】:2019-11-27 17:55:25
【问题描述】:
我有一个 BehaviorSubject,它使用 HttpClient 调用 API:
let parents = new BehaviorSubject<Parent[]>([]);
this.httpClient.get<Parent[]>('parents-and-children').subscribe(result => {
parents.next(result);
});
父子类是:
class Parent {
id: number;
name: string;
childrens: Children[];
}
class Children {
id: number;
name: string;
}
我希望执行以下操作:
给定一个 parentId 值,从 BehaviourSubject 获取具有该 ID 的父级。
-
给定一个 childrenId 值,通过查看所有父母的孩子来获取具有该 ID 的孩子。
let parentId = 1; parents.pipe( ?? let childrenId = 2; parents.pipe( ??
我一直在尝试管道,但我不知道如何过滤项目...
【问题讨论】:
-
rxjs filter operator。使用起来不太难。通过简单的搜索也很容易找到。
-
您要么必须订阅 BehaviorSubject 并且它会发出它的值,要么您可以使用
getValue()函数或只是value属性 rxjs.dev/api/index/class/BehaviorSubject#getValue
标签: angular typescript rxjs angular8