在methods中的方法并没有使用箭头函数,但this指向undefined,并没有指向vue实例。代码如下:
<template>
<div>
<a href="javascript:;" @click="checkOrder(record._id, true)">通过</a>
</div>
</template>
methods: {
checkOrder(orderId, check) {
// 使用axios请求数据
this.$http.post(api.order.check, { orderId, check })
.then(res => {
console.log(this) // undefined
// 为什么这里this为undefined,而不是vue实例?
}).catch(err => {
this.$message.error(err.message)
})
}
}
问题:为什么axios请求数据后的then中this指向undefined而不是vue实例?
首先你是用了箭头函数!参考你第二段代码的第4行
其次: