Vue.js 使用Vue和sweetalert的表单警报未注册Vue存储?
我有一个简单的登录表单,其中有一个按钮,该按钮有一个反应文本{{msg}},默认情况下,它表示登录,当用户发送表单时,它将更改为登录。。。。如果表单失败,那么我想说再次发送 我正在使用sweetalert处理警告,并打算更改sweetalert中的msg数据。但是由于某些原因,它会返回一个未定义的this.msg html 登录 Javascript 导出默认值{ 资料{ 返回{ msg:登录 } }, 方法:{ 提交表格{ const loginda=$login\u form.array; 常数v=这个; this.msg=日志记录。。。 $.ajax{ url:/身份验证, 方法:邮寄, 标题:{ 内容类型:application/json }, 数据:JSON.stringify{ 策略:本地, 电子邮件:loginData[0]。值, 密码:loginData[1]。值 }, 成功:函数数据{ window.location.replace/; this.msg=已登录! }, 错误:函数错误{ 如果error.status==401{ 电子邮件或密码; this.msg=再试一次?; console.logthis.msg//返回未定义的 }否则,如果错误。状态===400{ 电子邮件或密码; this.msg=再试一次?; }否则{ 斯瓦莱罗,再试一次!; this.msg=再试一次?; } } }; } } 我还尝试了Promissions,但它也返回未定义的this.msgVue.js 使用Vue和sweetalert的表单警报未注册Vue存储?,vue.js,sweetalert,Vue.js,Sweetalert,我有一个简单的登录表单,其中有一个按钮,该按钮有一个反应文本{{msg}},默认情况下,它表示登录,当用户发送表单时,它将更改为登录。。。。如果表单失败,那么我想说再次发送 我正在使用sweetalert处理警告,并打算更改sweetalert中的msg数据。但是由于某些原因,它会返回一个未定义的this.msg html 登录 Javascript 导出默认值{ 资料{ 返回{ msg:登录 } }, 方法:{ 提交表格{ const loginda=$login\u form.array;
如果我在sweetAlert中输入console.logthis.msg,它将返回未定义。我怀疑它的上下文行为。试试这个
export default {
data() {
return {
msg: "Log in"
}
},
methods: {
submitForm() {
const self = this;
const loginData = $("#login_form").serializeArray();
const v = this;
self.msg = "logging..."
$.ajax({
url: "/authentication",
method: "POST",
headers: {
"Content-Type": "application/json"
},
data: JSON.stringify({
strategy: "local",
email: loginData[0].value,
password: loginData[1].value
}),
success: function (data) {
window.location.replace("/");
self.msg = "logged!"
},
error: function (error) {
if (error.status === 401) {
swal("Wrong email or password");
self.msg = "Try again?";
console.log(self.msg) //returns undefined
} else if (error.status === 400) {
swal("Wrong email or password");
self.msg = "Try again?";
} else {
swal("Error. Try again!");
self.msg = "Try again?";
}
}
});
}
}
使用箭头函数,即success:data=>{…}取而代之。同样的错误可能重复for你的常数v=这用于什么?似乎没有什么。可能是残余代码。将此作为常量添加成功。谢谢你,我将确保下次与我的同事更深入地检查代码。没问题,请稍后接受我的答案,如果有,谢谢。