我正在使用ngrx / router-store8。此版本公开了“ @ ngrx / router-store / request”操作,该操作的有效负载中包含一个NavigationTrigger:
type: '@ngrx/router-store/request',
payload: {
routerState: {
url: '/directory',
queryParams: {},
params: {},
navigationTrigger: true
},
event: {
id: 2,
url: '/jobs',
navigationTrigger: 'imperative',
restoredState: null
}
}
}
navigationTrigger可以获取以下两个值之一:
我需要随时知道如何访问当前页面,因此需要访问此变量。问题是路由器存储的内置化简器没有将此变量保持在状态,而仅在该操作的有效负载处显示。我意识到我需要重写默认的reducer,但是我不知道该怎么做,也找不到任何信息。也许还有另一个想法如何存储这些数据?
答案 0 :(得分:0)
您可以在ROUTER_REQUEST
内收听@Effect
。在您的有效负载中,您可能会获得信息。
getMyNeed$ = createEffect(() => this.actions$.pipe(
ofType(ROUTER_REQUEST),
tap(console.log),
map(({payload}) => SomeAction(payload))
));