我在组件中有 api 调用,这很耗时,所以我实现了解析器。我希望解析器数据存在于商店中,以供以后使用。我已经实现了 ngrx/store、ngrx/effects 和 ngrx/router-store。
组件中的当前状态
期望状态
为了保存解析器数据,我需要访问有效的解析器数据。所以我可以简单地在组件中调度操作并订阅状态。
{}我总是在 CustomSerializer 中的“数据”中变空。
减速器/index.ts(CustomSerializer)
export interface RouterStateUrl {
url: string;
queryParams: Params;
params: Params;
data: any;
}
export const reducers: ActionReducerMap<State> = {
routerReducer: fromRouter.routerReducer
};
@Injectable()
export class CustomSerializer implements fromRouter.RouterStateSerializer<RouterStateUrl> {
serialize(routerState: RouterStateSnapshot): RouterStateUrl {
let route = routerState.root;
while (route.firstChild) {
route = route.firstChild;
}
const { …Run Code Online (Sandbox Code Playgroud)