Vue.js 如何重定向到登录,而不在vue中向历史记录添加路由?
我在:/foo页面上,单击按钮将我重定向到/bar。 但我在每次路由事件之前都会将我重定向到/login。登录后,我重定向到/bar 当我打开/bar时,我点击后退按钮进入登录页面。相反,我想得到最后一页的结果,那就是/foo 我怎么做?有没有一种方法可以重定向到登录而不向历史记录添加路由Vue.js 如何重定向到登录,而不在vue中向历史记录添加路由?,vue.js,vue-router,Vue.js,Vue Router,我在:/foo页面上,单击按钮将我重定向到/bar。 但我在每次路由事件之前都会将我重定向到/login。登录后,我重定向到/bar 当我打开/bar时,我点击后退按钮进入登录页面。相反,我想得到最后一页的结果,那就是/foo 我怎么做?有没有一种方法可以重定向到登录而不向历史记录添加路由 router.beforeEach((to, from, next) => { if (!to.matched.some((record) => record.meta.auth))
router.beforeEach((to, from, next) => {
if (!to.matched.some((record) => record.meta.auth)) { return next(); }
return next({
path: '/login',
});
});
当您在登录组件中登录后重定向到页面时,请使用replace而不是push
loginSuccessed() {
this.$router.replace(redirect);
}
使用route.replace代替router.push。它的行为类似于router.push,唯一的区别是它导航时没有按新的历史记录条目,正如其名称所示-它取代了当前条目
succesffulyLoggedin() {
this.$router.replace({ name: 'dashboard' });
}
阅读这里的文档我添加了更多解释和来源。你能欣赏一下吗?这可能对一些访问过本网站的读者有所帮助!