vue中this的小问题

Author Avatar
特异型大光头 4月 25, 2020
g5rimgSrc() {
        let count = 1
        let that = this //执行setInterval click 异步axios等事件都会导致this的作用域改变,此时this指向了其他
        setInterval(function(){
          console.log(this)
          console.log(that)
          that.g5rsrc = `../../../static/img/g5r${count}.png`
          count=count+1
          if (count > 3) {
            count = 1
          }
        },5000)
      }

今天写vue的一个小问题,我想通过setInterval改变data中一个叫g5rsrc的值,但是失败了
原因是setInterval执行后,里面的this指向了window,没有指向vue,
此时内部的this是

    window{}

that是

    VueComponet{}

可能会发生的还有click事件,异步axios

//代码等遇到补充