收藏
回答

es6 作用域以及this指针

图一使用es6语法报图2错误,然后传入this,发现显示正常,没有查出问题,只能拜托你们了



图1



图2



图3

回答关注问题邀请回答
收藏

2 个回答

  • 2018-09-05

    loginAndOpenid: function() {

        const this_ = this

        ...

    }

    2018-09-05
    有用
    回复 3
    • *
      *
      2018-09-06

      es6的话不是有作用域了吗?怎么还得使用const

      或者我在页面第一次加载的时候就把this设置成const的,这种的可以吗?

      2018-09-06
      回复
    • 2018-09-06回复*

      不是const的问题,只是建议用const。


      你的问题是,代码中的loginAndOpenid这个方法用了箭头函数来声明,这时候的this就是undefined,相当于下面这种写法:

      const this_ = this

      Page({

      ...

      })

      你可以试一下这么写之后,看一下是不是也是undefined


      解决方法:把箭头函数换掉成function()就可以了

      Page({

      ...

          ,loginAndOpenid: function() {

              const ctx = this

              ...

          }

      })



      2018-09-06
      回复
    • *
      *
      2018-09-06回复

      原来如此,谢谢

      2018-09-06
      回复
  • 🚗🚕🚙🚌🚎🚒🚐🚚
    🚗🚕🚙🚌🚎🚒🚐🚚
    2018-09-05
    你这样写的话
    this指向outOfPage
    const outOfPage = this
    Page({
    //...
    })

    所以,page里别这样绑定this,直接fnName()

    {}就行

    2018-09-05
    有用
    回复 3
登录 后发表内容