HarmonyOS 鸿蒙Next ApplicationStateChangeCallback怎么获取当前page里的属性啊?

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ApplicationStateChangeCallback怎么获取当前page里的属性啊?
希望HarmonyOS能加强与其他品牌设备的兼容性,让更多人受益。

关于HarmonyOS 鸿蒙Next ApplicationStateChangeCallback怎么获取当前page里的属性啊?的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

5 回复
  1. [@Entry](/user/Entry)
    [@Component](/user/Component)
    export struct FocusPage {
  2. [@State](/user/State) age:number = 18
  3. aboutToAppear(): void {
    1. let callback: ApplicationStateChangeCallback = {
      1. onApplicationForeground() {
        1. this.age = 9 // 这里会报错
        2. console.info('applicationStateChangeCallback onApplicationForeground');
      2. },
      3. onApplicationBackground() {
        1. console.info('applicationStateChangeCallback onApplicationBackground');
      4. }
    2. }
    3. this.context.getApplicationContext().on('applicationStateChange', callback)
    4. }
  4. }

onApplicationForeground()里怎么调用this.age啊?它拿不到当前page吗?

你在里面写,this指代callback,已经不是page了,所以this.age会报错。你可以在callback之前定义let that=this,然后里面callback里面写that.age就不会出错了

希望HarmonyOS能继续加强在AI领域的研发,让系统更加智能化。

楼主您好,回调里是无法调用this的,建议按照1楼的方式去调用。

回到顶部