假设在我的应用程序中,我具有以下延迟加载模块:
App-routing.module.ts`
const routes: Routes = [
{ path: 'login', loadChildren: () => import('./login/login.module').then(m => m.LoginModule) },
{ path: 'admin', loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule), canLoad: [AdminGuard]}]
`
在我创建的LoginModule中,StoreModule.forFeature('login', fromLogin.authReducer)
。
成功登录程序后,重定向到管理页面(模块)。
并且商店正在调度新动作:this.store.dispatch(login({some object}));
一切正常。
问题
当我尝试刷新管理模块上的页面时,我将从LoginModule中丢失存储。
正如您在路由模块中看到的那样,我正在使用Guard内部的Guard canLoad
逻辑来更改LoginModule存储中的状态,但刷新页面后我丢失了它。
可以正常工作,并在LoginModule中更改状态: