我是否需要取消订阅Ngrx Select

时间:2020-04-21 20:59:41

标签: angular ngrx ngrx-store

我具有如下组件,单击时有一个调用select_property的按钮。问题是不确定每次点击重新分配$livevisitors之前是否需要以任何方式退订,不确定组件模板中的$livevisitors | async是否对我有用。

export class LiveComponent{

    livevisitors$: Observable<LiveVisitor[]>;
    selected_property_id: number = 0;

    constructor(
            private store: Store<AppState>
        ) {

        this.livevisitors$ = this.store.select(selectAllLiveVisitors);

    }

    select_property(id){
        this.selected_property_id = id;

        if (id == 0){
            this.livevisitors$ = this.store.select(selectAllLiveVisitors);
        } else {
            this.livevisitors$ = this.store.select(selectLiveVisitorsByPropertyId, {property_id: id});
        }
    }

1 个答案:

答案 0 :(得分:2)

异步管道为您订阅和取消订阅。您无需管理手动退订。

来自官方documentation

当组件被销毁时,异步管道将自动退订,以避免潜在的内存泄漏。