导航卫士替换整个链接而不是其中的一部分Vuejs vue-router

时间:2020-09-05 13:28:19

标签: javascript vue.js vue-router

商店ID来自Firebase,并且从该ID加载了购物商店页面,在Firestore中有许多这样的商店。

因此首页网址看起来像这样http://localhost:8080/mystore/home mystore部分来自firenase作为商店ID。

我有一个导航保护设置,在该设置中,一旦用户登录到Firebase,他就无法登录,即http://localhost:8080/mystore/login而是被推送到首页,但是导航保护而不是推送http://localhost:8080/mystore/home不会包括商店ID,URL就会变成http://localhost:8080/home

这是我用于家庭和登录的路由器设置:

    {
      path: "/:id/home/",
      name: "home",
      component: Home,
    },
{
      path: "/:id/login",
      name: "login",
      component: loginScreen,
      meta: { disallowedAuth: true },
    },

这是我的导航卫士,可以防止登录后返回/ login:

router.beforeEach(async (to, from, next) => {
  if (to.meta.disallowedAuth && (await firebase.getCurrentUser())) {
    return router.push("/home");
  }
  return next();
});

有没有一种方法可以在URL中包括商店ID。

0 个答案:

没有答案