Ngrx router-store - Подписаться на все параметры маршрутизатора - PullRequest
0 голосов
/ 14 октября 2019

Я использую ngrx router-store и сериализатор для хранения всех параметров в моем состоянии

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

...