为了账号安全,请及时绑定邮箱和手机立即绑定

vue中箭头函数与普通函数 this指向

vue中箭头函数与普通函数 this指向

婷婷同学_ 2018-08-18 15:34:21
问题描述:封装了axios方法,getAxios()是成功时的callback为什么会出现下面代码中的结果我的想法:1.()=>{} 等价于 function(){}.bind(this)2.在严格模式下,没有直接调用者的函数中的this是 undefined自己隐约知道原因,但又不确定,希望能得到明朗的答案。  created () {    this.getBannerList()   },   methods: {     getBannerList () {       getAxios('/bannerApi', (res) => {        console.log(this)      //结果:VueComponent对象        })                getAxios('/bannerApi', function (res) {        console.log(this)      //结果: undefined       })     }   }
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

问题描述:
封装了axios方法,getAxios()是成功时的callback
为什么会出现下面代码中的结果

我的想法:
1.()=>{} 等价于 function(){}.bind(this)
2.在严格模式下,没有直接调用者的函数中的this是 undefined
自己隐约知道原因,但又不确定,希望能得到明朗的答案。

  created () {    this.getBannerList()
  },

  methods: {
    getBannerList () {
      getAxios('/bannerApi', (res) => {        console.log(this)      //结果:VueComponent对象 
      })  
      
      getAxios('/bannerApi', function (res) {        console.log(this)      //结果: undefined
      })
    }
  }


查看完整回答
反对 回复 2018-08-19
  • 2 回答
  • 0 关注
  • 1745 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信