HarmonyOS 应用全局的UI状态存储 AppStorage

75 阅读1分钟

AppStorage:应用全局的UI状态存储

  • AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建的单例,为应用程序UI状态属性提供中央存储
  • AppStorage支持应用的主线程内多个UIAbility实例间的状态共享

1、应用内使用

// 单例直接使用即可
AppStorage.setOrCreate('age', 18);
AppStorage.setOrCreate('name', '张三');
let prop1: SubscribedAbstractProperty<string> = AppStorage.prop('name');
prop1.get(); // 张三
prop1.set('李四');
prop1.get(); // 李四
AppStorage.get('name'); // 张三 单向
let link1: SubscribedAbstractProperty<number> = AppStorage.link('age');
link1.get(); // 18
link1.set(18);
link1.get(); // 19
AppStorage.get('age'); // 19 双向

2、页面UI内部使用

  • @StorageProp 使用方法同 @LocalStorageProp
  • @StorageLink 使用方法同 @LocalStorageLink
@Entry
@Component
struct Index {
    // 单向同步
    @StorageProp('age') age: number = 1;
    // 双向同步
    @StorageLink('name') name: string = '';
}