Vue.js Nativescript VueJS-如何在axios中启用和禁用按钮
这是我的代码:Vue.js Nativescript VueJS-如何在axios中启用和禁用按钮,vue.js,nativescript,Vue.js,Nativescript,这是我的代码: <Button text="Login" @tap="submit" class="btn btn-primary m-t-20" :isEnabled="isTappable" /> submit(event) { this.isTappable = false; let eventListener = this.isTappable; axios({
<Button text="Login" @tap="submit" class="btn btn-primary m-t-20" :isEnabled="isTappable" />
submit(event) {
this.isTappable = false;
let eventListener = this.isTappable;
axios({
method: 'post',
url: '/api/authenticate/login',
data: {
username: 'test',
password: "12345"
}
}).then(function(response){
eventListener = true;
}).catch(function(error){
console.log(error);
eventListener = true;
}).finally(function(){
eventListener = true;
console.log("eventListener: "+eventListener);
});
}
提交(活动){
this.isTappable=false;
让eventListener=this.isTappable;
axios({
方法:“post”,
url:“/api/authenticate/login”,
数据:{
用户名:“测试”,
密码:“12345”
}
}).然后(功能(响应){
eventListener=true;
}).catch(函数(错误){
console.log(错误);
eventListener=true;
}).最后(函数(){
eventListener=true;
log(“eventListener:+eventListener”);
});
}
我注意到按钮禁用了,但它没有启用返回。我在这里做了什么错事
谢谢。您应该使用承诺函数(then,catch,finally)来保持引用vue对象的this
的范围,然后在finally
函数中,您可以使用this
引用isTappable
属性,应该是:
<Button text="Login" @tap="submit" class="btn btn-primary m-t-20" :isEnabled="isTappable" />
submit(event) {
this.isTappable = false;
let eventListener = this.isTappable;
axios({
method: 'post',
url: '/api/authenticate/login',
data: {
username: 'test',
password: "12345"
}
}).then((response) => {
eventListener = true;
}).catch((error) => {
console.log(error);
eventListener = true;
}).finally(() => {
this.isTappable = true;
eventListener = true;
console.log("eventListener: "+eventListener);
});
}
提交(活动){
this.isTappable=false;
让eventListener=this.isTappable;
axios({
方法:“post”,
url:“/api/authenticate/login”,
数据:{
用户名:“测试”,
密码:“12345”
}
})。然后((响应)=>{
eventListener=true;
}).catch((错误)=>{
console.log(错误);
eventListener=true;
}).最后(()=>{
this.isTappable=true;
eventListener=true;
log(“eventListener:+eventListener”);
});
}
哇,这完全有效!所以一直以来我都应该使用箭头函数??哈哈!这里没有!谢谢!:)只要用例是必需的,就在这个
的范围内思考。有时这是不必要的。