angular – BehaviourSubject的distinctUntilChanged()不是函数

前端之家收集整理的这篇文章主要介绍了angular – BehaviourSubject的distinctUntilChanged()不是函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Rxjs的新手
我正在尝试了解BehavIoUrSubject
下面是我的代码
export interface State {
    items: Items[]
}

const defaultState = {
    items: []
};

const _store = new BehaviorSubject<State>(defaultState);

@Injectable()
export class Store {
    private _store = _store;
    changes = this._store.distinctUntilChanged()
        .do(() => console.log('changes'));

    setState(state: State) {
        this._store.next(state);
    }

    getState() : State {
        return this._store.value;
    }

    purge() {
        this._store.next(defaultState);
    }
}

当我运行我的项目时,我在我的控制台中收到此错误

platform-browser.umd.js:1900 EXCEPTION: Error: Uncaught (in promise):
EXCEPTION: Error during instantiation of Store! (StoreHelper -> Store).
ORIGINAL EXCEPTION: TypeError: this._store.distinctUntilChanged is not a function

谁能帮我吗.此外,如果我想要做的是为我的模型对象创建一个商店,所以如果有任何其他更简单的方式随时建议它.

任何帮助表示赞赏.

你必须为此导入整个rxJs库或特定的库.
import 'rxjs/add/operator/distinctUntilChanged';

更新rxjs> 5.5带可管式操作器,

import { distinctUntilChanged } from 'rxjs/operators';

可管理的运算符有助于建筑和树木摇晃

要了解有关benefits of Pipeable operators you may look in here的更多信息.

希望这可以帮助!!

猜你在找的Angularjs相关文章