我不知道我想做的这是否可行,我有一个组件FiltersComponent
和一个 Service FiltersService
。在 FiltersService 中,我有一个 BehaviorSubject 类型的 onFilterChange 属性。我将它公开为Observable,并且我想在应用更改时测试这个可观察的抛出。
FilterService.service.ts
export class FilterService {
private _onFilterChange$: BehaviorSubject<any>;
constructor() {}
get onFilterChange(): any {
return this._onFilterChange$.asObservable;
}
public onApplyFilter(filter) {
this._onFilterChange$.next(filter);
}
}
FilterComponent
export class FiltersComponent implements OnInit, OnDestroy {
filterForm: FormGroup;
constructor(private _filterService: FilterService){}
onApplyFilter() {
const pfilter = this.filterForm.getRawValue();
this._filterService.onApplyFilter(newF);
}
}
应用过滤器时如何测试
this._filterService.onApplyFilter(newF);
this._filterService.onFilterChange().subscribe(d => {
respond the same filter that I apllied
});