PersistentStorage:持久化存储UI状态
温馨提示:本文最后更新于2024年9月29日 10:04,若内容或图片失效,请在下方留言或联系博主。
1. PersistentStorage允许的类型和值有:number, string, boolean, enum 等简单类型。 PersistentStorage:持久化存储UI状态
2. 可以被JSON.stringify()和JSON.parse()重构的对象。例如Date, Map, Set等内置类型则不支持,以及对象的属性方法不支持持久化。
( 划重点:自己定义的 class、interface 基本都是支持的 )
PersistentStorage.PersistProp('属性名', 值)
不支持嵌套对象(对象数组,对象的属性是对象等)。因为目前框架无法检测AppStorage中嵌套对象(包括数组)值的变化,所以无法写回到PersistentStorage中。
不支持 undefined 和 null
使用方法1:
// 初始化 PersistentStorage
PersistentStorage.persistProp<string>('info','凌零博客(llsix.com)')
// 通过 AppStorage 获取并修改数据
@StorageLink('info') info : string=''
使用方法2:
// 定义接口类型
interface FoodInfo{
name:string
price:number
}
// 初始化PersistentStorage
PersistentStorage.persistProp<FoodInfo[]>('foods',[
{name:'西兰花炒蛋',price:10},
{name:'猪脚饭',price:15},
{name:'剁椒鱼头',price:14}, ])
// 通过 AppStorage 获取并修改数据
@StorageLink('foods') foods : FoodInfo[]=[]
查看持久化的存入地址:/data/app/el2/100/base/com.itheima.hm_guardian(项目名)/haps/entry/files/persistent_storage
3. 删除持久化数据:
// 删除登录信息持久化
PersistentStorage.deleteProp(属性名)