鸿蒙应用内实现状态同步的方式有很多,在这里就列举几个本人比较常用的
1.AppStorage:
第一种方法就是使用AppStorage进行全局数据状态共享,
先使用AppStorage.setOrCreate<>(key,value)函数进行全局初始化赋值
注: setOrCreate函数在第一次存储数据时会自动识别并视为新增,如果用第一次存储时使用set函数则会直接失败或者报错,set函数为已确定AppStorage中已有数据要进行修改时使用,所以推荐使用setOrCreate函数
例:
然后再业务场景需要更新数据状态的位置使用AppStorage.get<>(key)函数进行获取状态数据
例:
2.emitter:
第二种方法就是使用emitter进行监听和触发
先使用emit触发事件emitter.emit("eventName")进行监听数据或者状态是否更新
例:
在使用on监听事件 emitter.on("eventName", () => {})进行触发数据状态更新
例:
鸿蒙还有其他可以进行应用内数据或状态同步的方式, 以上两种方法都是本人比较常用的, 欢迎大家前来交流分享