有什么方法可以让RouteSerializer
inngrx-router-store
返回 aPromise
或 anObservable
吗?
我真正想要实现的是查找存储在商店中的一些链接元数据。但是,他们访问存储值的唯一方法是通过this._store.select
which 返回一个Observable
. 我在文档中看不到任何允许此返回类型的内容,因此在我开始使用这种方法并尝试不同的方法之前,请在此处发布。ngrxObservables
在任何情况下都拒绝与之合作,这似乎很奇怪......
export class CustomSerializer implements RouterStateSerializer<RouterStateUrl> {
serialize(routerState: RouterStateSnapshot, private _store: IAppStore): RouterStateUrl {
let route = routerState.root;
while (route.firstChild) {
route = route.firstChild;
}
const {
url,
root: { queryParams },
} = routerState;
const { params } = route;
// Only return an object including the URL, params and query params
// instead of the entire snapshot
return this._store.select( state => state.navStore.links).pipe(
map( links => {
const l = links.find(l => l.id === 123);
return { url, params, queryParams, l };
})
);
}
}