我正在尝试观察发生在流中的最新事件。每个事件可以是两种类型中的一种,由枚举表示。然而,我在下面的例子中得到一个编译错误:RXJS Observable枚举类型,类型'Observable <Type>'不可分配为'Type'类型
import { BehaviorSubject } from 'rxjs/Rx';
export enum FilterAction {
RESET, UPDATE
}
export class FilterSomething {
private _filterEvent: BehaviorSubject<FilterAction> = new BehaviorSubject(FilterAction.RESET);
get filterEvent() {
return this._filterEvent.asObservable(); // <-- behave.ts(14,12): error TS2322: Type 'Observable<FilterAction>' is not assignable to type 'FilterAction'
}
set filterEvent(action: FilterAction){
this._filterEvent.next(action);
}
}
编译错误: behave.ts(14,12): error TS2322: Type 'Observable<FilterAction>' is not assignable to type 'FilterAction'
然而,当我使用通用any
它编译(和作品)。
set filterEvent(filterAction: any) {
this._filterEvent.next(filterAction);
}
我怀疑它的东西与枚举值来做,而不是的FilterAction
实例。
哪一行是第14行? – 2017-06-14 11:17:39
'return this._filterEvent.asObservable();' – Matt