【发布时间】:2018-10-17 13:57:04
【问题描述】:
我正在通过 HttpClient 加载数据并将它们发布为 BehaviourSubject:
export interface Car {
id:number;
make: string;
status: number;
}
在服务中,我通过 API 端点加载数据:
private cars = new BehaviorSubject<Car[]>([]);
constructor( private http: HttpClient) {
this.loadCars();
}
loadCars() {
this.http.get<Car[]>('/api/cars')
.subscribe((cars) => this.cars.next(cars));
}
getFilteredCars() {
return this.cars.asObservable()
.pipe(
map( (cars) => cars.filter( car => car.status === 1)
)
);
}
如您所见,我想获取所有状态为 1 的汽车。 当我从我的组件中调用它时,我什么也没得到:
Component
cars: Observable<Car[]>;
constructor(private carService: CarService) {
this.cars = carService.getFilteredCars();
}
我得到未过滤的数据没有任何问题如果我返回未过滤的 BehaviourSubject:
getFilteredCars() {
return this.cars.asObservable();
}
我做错了什么?
【问题讨论】:
-
您需要致电
subscribe() -
天哪,我怎么会错过这个:)。谢谢,解决了我的问题
标签: angular rxjs behaviorsubject