vue-router中登录拦截跳转至登录页面时不记住history;

1.vue-router 的 beforeEach 钩子函数中判断是否登录,没登录的话跳转到登录页面进行登录。
2.

router.beforeEach((to, from, next) => {

  if (to.matched.some(record => record.meta.requireAuth)) {

    // this route requires auth, check if logged in

    // if not, redirect to login page.

    if (!isLogin()) {

      next({

        name: '登录',

        query: { redirect: to.fullPath }

      });

    } else {

      next();

    }

  } else {

    next(); // 确保一定要调用 next()

  }

});

3.因为这默认是记入history栈,现在这一步操作想用replace代替push 应该怎么设置?

蓝山帝景
浏览 2449回答 1
1回答

HUWWW

replace代替push,会替换history里面的记录,按浏览器的返回按钮就无效了,用push的话按浏览器的返回按钮会返回的之前的页面。可以在登录页面,登录成功后,调用 this.$router.go(-1)返回到登录之前的页面,当然还是用push跳转到登录页(this.$router.push({"name": "login"}))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript