假设在我的应用程序中,我具有以下延迟加载模块:
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 canLoad
中的Guard逻辑,该逻辑应更改 LoginModule 存储中的状态,但刷新页面后我丢失了它。
工作正常并在 LoginModule 中更改状态: