多个pageAbility之间如何共享变量

多个pageAbility之间如何共享变量

HarmonyOS
2024-01-30 21:00:24
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
golcm
  • 方式一:可以通过用户首选项实现数据持久化。
import dataPreferences from '@ohos.data.preferences'; 
import { BusinessError } from '@ohos.base'; 
 
let preferences: dataPreferences.Preferences | null = null; 
try { 
  preferences.put('startup', 'auto', (err: BusinessError) => { 
    if (err) { 
      console.error(`Failed to put data. Code:${err.code}, message:${err.message}`); 
      return; 
    } 
    console.info('Succeeded in putting data.'); 
  }) 
} catch (err) { 
  console.error(`Failed to put data. Code: ${err.code},message:${err.message}`); 
} 
try { 
  preferences.flush((err) => { 
    if (err) { 
      console.error(`Failed to flush. Code:${err.code}, message:${err.message}`); 
      return; 
    } 
    console.info('Succeeded in flushing.'); 
  }) 
} catch (err) { 
  console.error(`Failed to flush. Code:${err.code}, message:${err.message}`); 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 方式二:可以通过@StorageLink搭配PersistentStorage接口可以实现数据本地持久化。
import router from '@ohos.router'; 
 
PersistentStorage.persistProp("time", "Hello, OpenHarmony") 
 
@Entry 
@Component 
struct ComponentTest { 
  // 初始化time1,如果AppStorage 
  @StorageLink('time') time1: string = "1648643734154"; 
  @StorageLink('time') time2: string = "OpenHarmony"; 
  build() { 
    Column({ space: 10 }) { 
      Text(`父组件【${this.time1}】`) 
        .fontSize(20) 
        .backgroundColor(Color.Pink) 
      Button('更新时间') 
        .onClick(() => { 
          this.time2 = new Date().getTime().toString(); 
        }) 
      Button('跨页面数据绑定') 
        .onClick(() => { 
          router.pushUrl({ url: "pages/test/setting" }) 
        }) 
    } 
    .width('100%') 
    .height('100%') 
    .padding(10) 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.


分享
微博
QQ
微信
回复
2024-02-01 00:50:14
相关问题
PageAbility配合多个Slice实现页面间切换
15134浏览 • 4回复 已解决
HAP和HSP之间如何实现数据共享
2563浏览 • 1回复 待解决
HarmonyOS 多个HSP之间如何互相通讯
1162浏览 • 1回复 待解决
怎么理解pageAbility
4094浏览 • 1回复 待解决