Javascript 从模式导航后页面冻结

Javascript 从模式导航后页面冻结,javascript,vue.js,vue-router,Javascript,Vue.js,Vue Router,每当我从VueJS中的模式组件导航到另一个路由时,下一页就会冻结,直到我刷新它为止。 请问我能做些什么来解决这个问题 下面是我的组件代码(模板部分) 登录 &时代; 登录 下面是我的Javascript部分,其中包含了在登录后将用户导航到下一页的方法 <script> import UIUtil from "../../utils/ui-utils"; import ResetPasswordModal from "./ResetPasswordModal";

每当我从VueJS中的模式组件导航到另一个路由时,下一页就会冻结,直到我刷新它为止。 请问我能做些什么来解决这个问题

下面是我的组件代码(模板部分)


登录
&时代;
登录
下面是我的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>