HarmonyOS this和箭头函数相关问题

如下代码中click1的this为undefined,click2的this正常是什么原因?

import { hilog } from '@kit.PerformanceAnalysisKit';

class A {
  click1(event: ClickEvent) {
    hilog.info(0, 'TAG', `click1 ${this}`)
  }

  click2 = (event: ClickEvent) => {
    hilog.info(0, 'TAG', `click2 ${this}`)
  }
}

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  a: A = new A();

  build() {
    RelativeContainer() {
      Row() {
        Text('click1').onClick(this.a.click1)
        Text('click2').onClick(this.a.click2)
      }
    }
    .height('100%')
    .width('100%')
  }
}
  • 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.
HarmonyOS
2024-12-25 11:22:08
364浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
aquaa

箭头指向的是最外层的Component的this,Text(‘click1’).onClick(this.a.click1.bind(this))和箭头函数是一致的。

分享
微博
QQ
微信
回复
2024-12-25 14:12:26
相关问题
HarmonyOS TextInput键盘相关问题咨询
1003浏览 • 1回复 待解决
HarmonyOS Camera Scan 相关接口问题
514浏览 • 1回复 待解决
HarmonyOS 关于base64aes加密相关问题
520浏览 • 1回复 待解决
HarmonyOS bindPopup如何设置箭头颜色
657浏览 • 1回复 待解决
HarmonyOS KVStore 相关问题
721浏览 • 1回复 待解决
HarmonyOS Grid相关问题
1012浏览 • 1回复 待解决
HarmonyOS 线程相关问题
1045浏览 • 1回复 待解决
HarmonyOS AccountKit相关问题
989浏览 • 1回复 待解决
HarmonyOS BindSheet相关问题
1136浏览 • 1回复 待解决
HarmonyOS string相关问题
645浏览 • 1回复 待解决
HarmonyOS Lib相关问题
372浏览 • 1回复 待解决
HarmonyOS Worker相关问题
661浏览 • 1回复 待解决
HarmonyOS 证书相关问题
790浏览 • 1回复 待解决
HarmonyOS @Watch函数调用问题
731浏览 • 1回复 待解决
帐号授权相关问题大家讨论一下
13576浏览 • 3回复 待解决
HarmonyOS ApplicationContext相关问题
783浏览 • 1回复 待解决
HarmonyOS 打包相关问题
647浏览 • 1回复 待解决
HarmonyOS CardRecognition相关问题
718浏览 • 1回复 待解决