问题描述
在延迟加载模块时尝试使用NgxsStorageModule
将数据保存在本地存储中时,我在NGXS中遇到问题。
我的配置文件模块包含帐户信息组件,并且此配置文件模块是惰性加载,并且我正在调用要从帐户信息组件内部的ngOnInit
函数获取用户信息的操作,但数据不会保存在localStorage
内,但是如果我走了任何一条路线或进行了任何操作,则数据保存在存储器中...那么这是由于延迟加载而引起的吗?
个人资料模块
imports: [
CommonModule,ProfileRoutingModule,FormsModule,InlineSVGModule,NgSelectModule,ReactiveFormsModule,NgxsModule.forFeature([AccountInfoState]),]
我的accountInfo模块
@State<AccountInfoModel>({
name: 'accountInfo',defaults: {
companyId:'',managerName:'',companyName:'',companyEmail:'',companyPhone:null,description:'',}
})
GetAccountInfo操作
@Action(GetAccountInfo)
getAccountInfo(ctx:StateContext<AccountInfoModel>,{payload}:GetAccountInfo){
const state = ctx.getState();
this.userDetailServ.getAccountInformation(payload).subscribe(result=>{
const data =result.data[0];
ctx.patchState({
...state,companyId: data.id,managerName:data.managerName,companyName:data.companyName,companyEmail:data.companyEmail,companyPhone:data.companyPhone,description: data.description,})
})
}
帐户信息组件中的ngOnInit函数
ngOnInit(): void {
this.formData.append('user_id',this.userId);
this.store.dispatch(new GetAccountInfo(this.formData));
}
本地存储内部
显示数据的形式
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)