问题描述:
封装了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
})
}
}
箭头函数指向外部,类似于bind(this), 使用vue,babel插件会将其装换成ES5.