Javascript VueJS“;RangeError:超过最大调用堆栈大小;
请帮我修一下 路由器.js 及 当我打开页面/登录时,错误不会发生。但是当我打开页面/注册时,总是会出错 这是控制台中的错误: “范围错误:超过最大调用堆栈大小”Javascript VueJS“;RangeError:超过最大调用堆栈大小;,javascript,vue.js,vuejs2,routes,vue-router,Javascript,Vue.js,Vuejs2,Routes,Vue Router,请帮我修一下 路由器.js 及 当我打开页面/登录时,错误不会发生。但是当我打开页面/注册时,总是会出错 这是控制台中的错误: “范围错误:超过最大调用堆栈大小” 这将导致无限循环: if(to.path=“/pages/signup”){ 下一步(“/页/注册”); 它正在重定向到它已经要去的同一个路由,这会导致每个之前的再次运行,然后在下一次迭代中触发另一个重定向。将其更改为: if(to.path=“/pages/signup”){ next(); 哇,这很管用,我更加理解了。非常有帮助
这将导致无限循环:
if(to.path=“/pages/signup”){
下一步(“/页/注册”);
它正在重定向到它已经要去的同一个路由,这会导致每个之前的再次运行,然后在下一次迭代中触发另一个重定向。将其更改为:
if(to.path=“/pages/signup”){
next();
哇,这很管用,我更加理解了。非常有帮助,非常感谢
routes: [{
path: "",
component: () => import("@/layouts/full-page/FullPage.vue"),
children: [{
path: "/pages/login",
name: "page-login",
component: () => import("@/views/pages/Login.vue")
}, {
path: "/pages/signup",
name: "page-signup",
component: () => import("@/views/pages/Signup.vue")
}, {
path: "/pages/error-404",
name: "page-error-404",
component: () => import("@/views/pages/Error404.vue")
}]
}, {
path: "*",
redirect: "/pages/error-404"
}]
router.beforeEach((to, from, next) => {
if (to.path != "/pages/login") {
if (auth.isAuthenticated()) {
next();
} else {
if(to.path == "/pages/signup") {
next("/pages/signup");
}else{
next("/pages/login");
}
}
} else {
next();
}
});