我用来@ngxs/storage-plugin
将应用程序状态同步到本地存储。序列化状态的默认存储键是@@STATE
,有没有办法重命名默认键?
我注意到在调用时NgxsStoragePluginModule.forRoot
,我可以使用key
选项来更改一部分状态的存储键,但是当我尝试存储整个状态时它不起作用
我用来@ngxs/storage-plugin
将应用程序状态同步到本地存储。序列化状态的默认存储键是@@STATE
,有没有办法重命名默认键?
我注意到在调用时NgxsStoragePluginModule.forRoot
,我可以使用key
选项来更改一部分状态的存储键,但是当我尝试存储整个状态时它不起作用
该key
选项应该被命名path
。它不引用 localStorage 中使用的密钥的名称。尽管它@@STATE
也在 localStorage 中创建了一个同名的键。
key
选项是状态存储中的一个或多个点符号。例如;
interface MyModel { example: string }
@State<MyModel>({
name: 'app',
defaults: { example: "Hello World" }
) //...
如果密钥设置为@@STATE
然后存储将保存
"@@STATE" : "{app: {example: 'Hello World'}}"
当您更改键时,它必须指向状态对象,否则它将 yield undefined
。所以我们可以设置key
哪个"example"
将存储"Hello World"
在名为“example”的键下的 localStorage 中。
像这样
"example": "Hello World"
截至目前,该值@@STATE
在插件中是硬编码的,无法重命名。对整个 store 进行序列化具有特殊的意义。否则,键必须是状态对象的点路径。