收藏
回答

使用箭头函数写自定义函数 this 获取不到

在自定义函数中使用箭头函数的语法,发现调用this.setData({}) 方法会报错   发现this 打印为  undefined



最后一次编辑于  2018-09-05  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

8 个回答

  • 卢霄霄
    卢霄霄
    2018-09-05

    page的外围什么都没有。。

    2018-09-05
    赞同 11
    回复 7
    • 180
      180
      2018-09-05

      明白啦  谢谢大佬啦

      2018-09-05
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-09-05回复180

      我都不明白。。你明白了啥。。

      2018-09-05
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-09-05回复180

      应该是去找使用 ()=>{}的地方,它定义这个方法的对象。。page({})里的方法里,使用的时候,应该就是找到的page。。。但是如果在page的属性使用()=>{},应该是去找了定义 page()这个方法的对象。。小程序里看来是找不到这个对象。。或者故意有代码不让拿到

      2018-09-05
      赞同 11
      回复
    • 180
      180
      2018-09-05回复卢霄霄

      箭头函数本身是没有this和arguments的,在箭头函数中引用this实际上是调用的是定义时的上一层作用域的this。


      所以定义箭头函数的作用域是 page 对象里    上一层的话 那就是page外边了   page外面貌似拿不到东西   是这样理解吗


      2018-09-05
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-09-05回复180

      我是这么理解的。。不知道为啥拿不到page外的。。哈哈哈哈,应该是有东西的啊。。肯定定义在哪里,然后这里才能调用啊

      2018-09-05
      赞同
      回复
    查看更多(2)