此问题已在此处找到答案:
如何在回调中访问正确的'this'((13个答案)
“this”关键字是如何工作的((21个答案)
昨天关门了。
我需要调用这个函数 get_data()
一旦函数 save_key()
执行完毕后,问题是我得到了一个 Cannot read property 'get_data' of undefined
错误。我假设我得到它是因为函数是从回调调用的。我怎样才能解决这个问题?
methods: {
async get_data(){
var response = await axios.get("http://127.0.0.1:8000/retrieve_user_data");
this.keys = response['data']
},
save_key(){
var key_data = {'action': 'save', 'key': this.form.key}
return axios({
method: 'post',
url: 'http://127.0.0.1:8000/save_data/',
data: key_data,
withCredentials: true,
headers: {}
}).then(function (response) {
this.get_data()
})
}
}
1条答案
按热度按时间s4chpxco1#
错误是因为“this”的范围在回调中设置为全局(窗口)对象。这可以通过使用箭头函数或使用占位符变量来解决。您可以尝试像这样更新save_key函数