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

问题描述:
封装了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
      })
    }
  }


婷婷同学_
浏览 1746回答 2
2回答

繁花如伊

问题描述:封装了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       })     }   }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js