vue let that = this的问题
在改别人项目的时候,看见代码里总是有let that = this 或者是 let _= this,很好奇为什么要这么写?原来是因为作用域的问题。
第一个console.log打印出来的this指向vue实例,并且能获取data里面的arr,第二个setTimeout打印出来的this指向window,因为没调用者指向全局,且不能获取vue里面data的arr
如果想要在settimeout里获取到vue里面data的值
第一:使用let that = this,意思就是,将当前的this赋值给that 这样 settimeout里面的this就是外层函数this
第二:使用箭头函数,箭头函数的this指向上一级作用域或父级作用域
欢迎大家指出问题~~~