存储插件指定我可以使用自定义反序列化器。问题是它没有提供有关如何使用它的任何信息。提供的解串器是否可用于所有状态类?
我需要的是在每个州都有一个特定的解串器。
谢谢!
答案 0 :(得分:2)
反序列化是 NgxsStoragePluginModule 的选项之一:
@NgModule({
imports: [
NgxsModule.forRoot([]),
NgxsStoragePluginModule.forRoot({
deserialize(data) {
return JSON.parse(data) // by default it returns parsed data
}
})
],
})
您为所有人设置了一个。我个人没有尝试过。但是根据文档,通过这种方式,我们可以定义存储插件的选项。
答案 1 :(得分:0)
正确的方法是先定义导出的函数,否则将因AOT编译而失败。
@NgModule({
declarations: [AppComponent],
imports: [
NgxsStoragePluginModule.forRoot({
deserialize(data) {
// Do deserialization
},
}),
...
此功能适用于/不具有AOT:
export function deserialize(data: any) {
// Do deserialization
}
@NgModule({
declarations: [AppComponent],
imports: [
NgxsStoragePluginModule.forRoot({
deserialize,
}),
...
https://github.com/ngxs/store/issues/1123#issuecomment-605933173