HarmonyOS 如何改变this指向

HarmonyOS
2025-01-09 13:56:21
1492浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

1、用箭头函数,箭头函数不绑定自己的this,它会捕获其所在上下文的this值作为自己的this值。

class A {
  a: string = "a";

  funA() {
    let b: B = {
      funC: () => {
        console.log(this.a)
        this.funB()
      }
    }
  }

  funB() {
  }
}

interface B {
  funC: () => void;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

2、用bind函数进行绑定,在ArkTS中限制了bind的使用,在使用bind时会有警告。

class A {
  value: string = ''
  foo: Function = () => {
  }
}

class Test {
  value: string = '1234'
  obj: A = {
    value: this.value,
    foo: this.foo.bind(this)
  }

  foo() {
    console.log(this.value);
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
分享
微博
QQ
微信
回复
2025-01-09 17:03:41
相关问题
HarmonyOS this指向问题
482浏览 • 2回复 待解决
HarmonyOS this指向的问题
612浏览 • 1回复 待解决
对象中函数的this如何指向外层
2500浏览 • 1回复 待解决
如何将this的指向改为方法外
888浏览 • 1回复 待解决
HarmonyOS如何动态改变图标
1049浏览 • 1回复 待解决
HarmonyOS 如何改变光标位置
853浏览 • 1回复 待解决
HarmonyOS 自定义装饰器的this指向问题
855浏览 • 1回复 待解决
HarmonyOS 如何改变图标icon颜色
686浏览 • 1回复 待解决
HarmonyOS 如何实现拖动改变ListItem顺序
820浏览 • 1回复 待解决
网络连接管理connection中this指向问题
1375浏览 • 1回复 待解决
popup组件气泡框指向颜色怎么修改?
7990浏览 • 1回复 待解决
HarmonyOS 图片颜色改变API
619浏览 • 1回复 待解决
HarmonyOS改变量值
565浏览 • 1回复 待解决
HarmonyOS svg改变描边颜色
689浏览 • 1回复 待解决
在XComponent组件中如何改变背景颜色
1054浏览 • 1回复 待解决