VUE 定义的this 为啥在JS里面会变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE 定义的this 为啥在JS里面会变相关的知识,希望对你有一定的参考价值。

业务使用this.数据 但是 在页面JS显示却重新定义了this 为什么?

在回调函数中this指向的是window,不是vue实例。
如果想用this,回调函数写成箭头函数即可
()=>
this.emit("xxxx")

参考技术A 这是编译器自己编译成这样的

为啥vue要使用 let that = this

参考技术A vue的方法里嵌套ajax请求时,在ajax的回调函数中通过this.param不能获取到data中定义的变量,
原因:
this指向的对象发生了变化,故需要在函数前将this指向的对象提前保存一下,详细可参考如下链接:
彻底搞懂JavaScript中的this指向问题

以上是关于VUE 定义的this 为啥在JS里面会变的主要内容,如果未能解决你的问题,请参考以下文章

为啥 this.$refs 在 Vue 子组件中未定义?

为啥在 Vue Composition API 设置函数中未定义“this”?

JS ES6类中定义的属性 为啥不在原型里

为啥我在 vue.js 中的自定义搜索过滤器不起作用?

vue3 如何定义全局变量

vue定义global.js,挂载在vue原型上面使用