补充:在生命函数中使用this.$options.methods调用methods中定义的方法才会报错,直接使用点击方法调用methods中的方法是不会有问题的
在生命函数中调用this.$axios.post("",data)可以正常使用,但是在methods中定义的方法中去使用会报错:TypeError: Cannot read properties of undefined (reading 'post')
因为在methods中的this不指向windows对象,所以打印this.$axios会出现undefined,只要在调用的时候传入参数就可以解决了
例子:
mounted: function (){
this.$options.methods.aaa(this)
}
methods:{
aaa(that){
that.$axios.post("",data).then(() =>{
})
}
}
本文探讨了Vue.js中methods内this指向的问题,并提供了解决方案。在生命周期钩子中调用methods里的方法时遇到this指向不正确的情况,通过传递参数的方式可以成功调用$axios等Vue实例方法。
834

被折叠的 条评论
为什么被折叠?



