想要用element ui的message box提示用户名不存在,询问用户是否注册,可是控制台报错
methods: {
login() {
var that=this
this.$refs.ruleForm.validate((valid) => {
if (valid) {
// 向后端发起请求,提交数据
this.$axios.post('http://localhost:9090/login',{
username:this.submitForm.username,
password:this.submitForm.password
}).then(function (response){
console.log(response)
if (response.data!=""){
console.log(response.data)
alert("登陆成功!")
that.$router.push({
path:'/personal_center'
})
}
else{
const confirmRes=that.$confirm("用户名不存在!是否注册?",{
confirmButtonText:'注册',
confirmButtonText:'再试试登录',
type:'warning'
}).then((action)=>{
if(action === 'confirm'){
that.$router.push({
path:'/regist'
})
}
}).catch(()=>{
this.$message({
message:'请重新登录!'
})
})
}
})
} else {
console.log('error submit!!');
return false;
}
});
}
}
把this.
c
o
n
f
i
r
m
(
"
用
户
名
不
存
在
!
是
否
注
册
?
"
改
为
上
图
代
码
中
t
h
a
t
.
confirm("用户名不存在!是否注册?"改为上图代码中that.
confirm("用户名不存在!是否注册?"改为上图代码中that.confirm("用户名不存在!是否注册?"就可以了。
好像是因为.then(function (response)是匿名函数不是箭头函数,this改变指向了。