Javascript 从模式导航后页面冻结
每当我从VueJS中的模式组件导航到另一个路由时,下一页就会冻结,直到我刷新它为止。 请问我能做些什么来解决这个问题 下面是我的组件代码(模板部分)Javascript 从模式导航后页面冻结,javascript,vue.js,vue-router,Javascript,Vue.js,Vue Router,每当我从VueJS中的模式组件导航到另一个路由时,下一页就会冻结,直到我刷新它为止。 请问我能做些什么来解决这个问题 下面是我的组件代码(模板部分) 登录 &时代; 登录 下面是我的Javascript部分,其中包含了在登录后将用户导航到下一页的方法 <script> import UIUtil from "../../utils/ui-utils"; import ResetPasswordModal from "./ResetPasswordModal";
登录
&时代;
登录
下面是我的Javascript部分,其中包含了在登录后将用户导航到下一页的方法
<script>
import UIUtil from "../../utils/ui-utils";
import ResetPasswordModal from "./ResetPasswordModal";
import $ from "jquery";
import {mAuth} from "../../firebase/firebase-service";
export default {
name: "Login",
components: {ResetPasswordModal},
data() {
return {
email: "",
password: "",
loginDetails: {email: "", password: ""}
};
},
methods: {
async logIn() {
if (this.validateLoginDetails()) {
let response = await mAuth().signInWithEmailAndPassword(this.loginDetails.email, this.loginDetails.password).catch(function (error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode)
console.log(errorMessage)
});
console.log(response.user)
this.$router.push("/jobseeker");
}
},
validateLoginDetails() {
if (!this.validateEmail(this.loginDetails.email)) {
UIUtil.displayAlert("Error", "Wrong email format", "error");
return false;
}
// FIXME: verify login details from server
// verification statement
return true; // success
},
validateEmail(mail) {
// eslint-disable-next-line no-useless-escape
return !!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail);
},
}
}
};
</script>
从“../../utils/ui-utils”导入UIUtil;
从“/ResetPasswordModal”导入ResetPasswordModal;
从“jquery”导入$;
从“../../firebase/firebase服务”导入{mAuth}”;
导出默认值{
名称:“登录”,
组件:{ResetPasswordModal},
数据(){
返回{
电邮:“,
密码:“”,
登录详细信息:{email:,密码:}
};
},
方法:{
异步登录(){
if(this.validateLoginDetails()){
让response=wait mAuth().signiWithEmailandPassword(this.loginDetails.email,this.loginDetails.password)。catch(函数(错误){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
console.log(错误代码)
console.log(错误消息)
});
console.log(response.user)
这个。$router.push(“/求职者”);
}
},
validateLoginDetails(){
如果(!this.validateEmail(this.loginDetails.email)){
UIUtil.displayAlert(“错误”、“错误的电子邮件格式”、“错误”);
返回false;
}
//FIXME:从服务器验证登录详细信息
//核查声明
返回true;//成功
},
validateEmail(邮件){
//eslint禁用下一行没有无用的转义
return!!/^\w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,3})+$/.test(邮件);
},
}
}
};
只有当导航发生在模态组件上时,我才会体验到这一点。如果没有a,很难说我添加了该组件的完整代码如果没有a,很难说我添加了该组件的完整代码
<script>
import UIUtil from "../../utils/ui-utils";
import ResetPasswordModal from "./ResetPasswordModal";
import $ from "jquery";
import {mAuth} from "../../firebase/firebase-service";
export default {
name: "Login",
components: {ResetPasswordModal},
data() {
return {
email: "",
password: "",
loginDetails: {email: "", password: ""}
};
},
methods: {
async logIn() {
if (this.validateLoginDetails()) {
let response = await mAuth().signInWithEmailAndPassword(this.loginDetails.email, this.loginDetails.password).catch(function (error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode)
console.log(errorMessage)
});
console.log(response.user)
this.$router.push("/jobseeker");
}
},
validateLoginDetails() {
if (!this.validateEmail(this.loginDetails.email)) {
UIUtil.displayAlert("Error", "Wrong email format", "error");
return false;
}
// FIXME: verify login details from server
// verification statement
return true; // success
},
validateEmail(mail) {
// eslint-disable-next-line no-useless-escape
return !!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail);
},
}
}
};
</script>