内容提要
PersistentStorage是一个单例对象,用于持久化AppStorage属性,确保应用重启后属性值不变。支持简单类型和可JSON化对象,但限制嵌套对象和大型数据集。需在UI初始化后调用,支持联合类型、Date、Map和Set等。通过AppStorage与PersistentStorage双向同步,确保数据一致性。
关键要点
-
PersistentStorage是一个单例对象,用于持久化AppStorage属性,确保应用重启后属性值不变。
-
支持简单类型和可JSON化对象,但不支持嵌套对象和大型数据集。
-
持久化操作需在UI初始化后调用,避免在初始化前调用导致失败。
-
持久化数据相对缓慢,建议持久化变量小于2kb,避免影响UI渲染性能。
-
使用PersistentStorage.persistProp初始化属性,并通过AppStorage获取对应属性。
-
在PersistentStorage之前访问AppStorage中的属性可能导致值丢失。
-
开发者可判断是否覆盖PersistentStorage中的值,决定是否调用AppStorage接口修改值。
-
支持联合类型、Date、Map和Set等类型的持久化存储。
-
通过@StorageLink实现双向绑定,确保视图刷新和数据持久化。
延伸问答
PersistentStorage的主要功能是什么?
PersistentStorage用于持久化AppStorage属性,确保应用重启后属性值不变。
PersistentStorage支持哪些数据类型?
支持简单类型、可JSON化对象、联合类型、Date、Map和Set等,但不支持嵌套对象和大型数据集。
在什么时机调用PersistentStorage的持久化操作?
持久化操作需在UI初始化成功后调用,早于该时机调用会导致失败。
如何初始化PersistentStorage中的属性?
使用PersistentStorage.persistProp('属性名', 值);来初始化属性。
PersistentStorage与AppStorage之间是如何同步的?
AppStorage中的更改会自动同步到PersistentStorage,二者建立双向同步。
使用PersistentStorage时有什么性能限制?
持久化数据相对缓慢,建议持久化变量小于2kb,以避免影响UI渲染性能。