vue-router:导航未路由到正确的路径

时间:2019-11-20 11:56:23

标签: vue.js vuex vue-router

我正在使用vuexvue-router。我有一个客户专区,当您尝试登录时,应该转到配置文件。但这没有发生。

routes: [
{
  path: "/area-do-cliente",
  name: "customerZone",
  redirect: "/area-do-cliente/profile",
  component: () =>
    import(
      /* webpackChunkName: "ClientZone" */ "@/scenes/ClientZone/views/ClientZone.vue"
    ),
  children: [
    {
      path: "login",
      name: "login",
      component: () => import("@/scenes/ClientZone/components/LogIn.vue"),
      props: true,
      meta: { clientZoneLogin: true }
    },
    {
      path: "profile",
      name: "profile",
      component: () => import("@/scenes/ClientZone/components/Profile.vue"),
      meta: { clientZoneAuthRequired: true, clientZoneLogin: true },
      props: true
        },
      ]
    }
  ]


  router.beforeEach((to, from, next) => {
  if (to.matched.some(_to => _to.meta.clientZoneLogin))
    if (store.getters.personData.status == "1") {
     console.log("01");
     router({ name: "profile" });
   } else {
     console.log("2");
     next();
     }
   } else {
     console.log("3");
    next();
  }
  }
 });

所以我仍然有console =>2。这意味着我通过了第一个条件,但我不应该这样做。我的状态为1,并且该数据的响应是在您单击登录按钮时(发生事件)。

 methods: {
 doLogin: function() {
    this.error = "";
    let loginData = {
    login: this.login,
    password: this.password
  };
   this.isLoading = true;
   this.errorMessage = "";
   co.postLogin(loginData)
    .then(data => {
      this.$store.commit("personData", data.data); // here I push data to store
   )}
   }
  }

任何想法在哪里出错?

0 个答案:

没有答案