需求
当前app可以部署到很多个客户的环境中,每个客户服务器地址是不同的,app支持输入新的服务器地址,保存后应用新地址。
harmony开发新版本app
应用鸿蒙ArkTS开发一套app,学习LocalStorage
页面级UI状态存储。
在UIAbility
使用LocalStorage
定义默认的服务器地址,并传递到所有页面,在设置页面支持输入新地址修改后更新UIAbility
中的默认地址,这样所有界面达到使用新地址。
UIAbility页面定义默认server_ip
在Index
页面接收LocalStorage默认值
//接收UIAbility定义的LocalStorage默认值
let storage = LocalStorage.GetShared()
@Entry(storage)
@Component
struct DzSetting {
//在页面或组件访问LocalStorage实例使用LocalStorageProp或
@LocalStorageProp('server_ip') server:string=''
build() {
Column() {
Row() {
Text('server')
.textAlign(TextAlign.End)
.width('20%')
.height('100%')
//显示在UIAbility设置的默认值
TextInput({ placeholder: '请输入服务器地址',text:this.server })
.layoutWeight(1)
.height('100%')
.onChange((text)=>{
//使用新输入的地址替换默认值
this.server=text
})
}.width('100%')
.height(80)
.padding({bottom:12})
.margin(10)
}.width('100%')
.height('100%')
}
}
创建LocalStorage实例的时候就写入默认值,因为默认值可以作为运行异常的备份,也可以用作页面的单元测试。
总结
在页面中获取LocalStorage实例
let storage = LocalStorage.GetShared()
将LocalStorage实例传入页面
let storage = LocalStorage.GetShared()
@Entry(storage)
//...
获取LocalStorage实例默认值
@LocalStorageProp('server_ip') server:string=''
或者
@LocalStorageLink('server_ip') server:string=''
LocalStorageProp和LocalStorageLink区别
LocalStorageProp订单的变量,变量值改变不会同步会UIAbility中的默认值
相反,LocalStorageLink则会同步修改后的值。
当前文章价值9.9元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)
你可能感兴趣的文章
分类:harmony
标签:LocalStorage
评论已关闭!