鸿蒙异常报错记录

#报错1,Error message:Cannot read property resultData of undefined

举例如下:

@State resultData: ResultDataSource = new ResultDataSource()

aboutToAppear(): void {
    emitter.on({ eventId: 1 }, this.fabClickEvent)
}

fabClickEvent() {
    this.resultData.pushData(new IndexItem('11','12'))
}

分析:这代码很简单,但是却访问不到this,原因是:回调嵌套了多层,this其实指向的并不是当前页面

解决方案:

aboutToAppear(): void {
    emitter.on({ eventId: 1 }, this.fabClickEvent.bind(this))
}

使用bind把this传给你要使用的地方即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 ECMAScript是JavaScript的标准,JavaScript实现了ECMAScript,ECMAS...
    Zindex阅读 3,375评论 0 1
  • client,page和screen的区别? clientX,clientY是触摸点相对于viewport视口x,...
    change_22fa阅读 5,646评论 1 1
  • 1.说说对双向绑定的理解 1.1、双向绑定的原理是什么 我们都知道Vue是数据双向绑定的框架,双向绑定由三个重要部...
    GuessYe阅读 3,459评论 0 0
  • 面试题一:https://github.com/jimuyouyou/node-interview-questio...
    R_X阅读 5,569评论 0 5
  • 方便起见不分parameter[形参,出现在函数定义中]和argument[实参,其值为传入函数的值],一律当作a...
    东月三二阅读 2,972评论 0 0