更新时间:2022-06-26 14:58:30浏览次数:524+次
在鸿蒙UI开发中,如何在app.ets中定义全局对象(全局变量、方法),又如何在其它ets文件中获取并应用它?
问题说明
在app.js中定义了对象,可以在自定义js文件中通过getApp()获取app.js中暴露的对象。问题:在app.ets下,如标题,如何实现呢?另外,当app.ets中全局变量的值改变时,其它引用的界面会自动刷新吗?如何做到?
解答
FA模型使用globalThis能够实现全局变量共享,有globalThis这种偏门却很高级的用法。使用参考:
app.ets中:
onCreate() {
console.info('Application onCreate')
globalThis.msg = 'test'
},
index.ets:
@Entry
@Component
struct Index {
@State message: string = ''
aboutToAppear(){
this.message = globalThis.msg
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
相关资讯