Ngrx路由器存储-订阅所有路由器参数

时间:2019-10-14 20:27:14

标签: ngrx ngrx-store ngrx-router-store

我正在使用ngrx路由器存储和序列化程序将所有参数存储到我的状态

router: {
    state: {
        params: {
            param1: 'value1'
            param2: 'value2'
        }
    }
}

所以,如果我订阅

this.store.pipe(select(state.router.state.params)).subscribe((store: any) => {})

每当我更改参数时,它就会触发。

我的问题是,即使我取消订阅ngDestroy(),它也会在销毁之前运行并且我不希望

this.store.pipe(select(state.router.state.params), take(1)).subscribe((store: any) => {})

如果我使用take(1),我的问题就解决了,但是现在我又遇到了另一个问题。如果我使用更改后的参数来保持相同的组件,则它不会运行,因为我有take(1)。

如何将两者结合起来。如果我使用更改后的参数来保持相同的组件,并且如果我将所有参数都更改为url

0 个答案:

没有答案