我正在嘗試觀察發生在流中的最新事件。每個事件可以是兩種類型中的一種,由枚舉表示。然而,我在下面的例子中得到一個編譯錯誤: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