1

我看到很多人就类似的问题(如果不是同一个问题)发帖,但没有一个解决方案对我有用。

我有一个使用本地策略(电子邮件、密码)的标准身份验证网关,我想在成功的身份验证后重定向到 root(或他们的专用页面)。

它应该像this.$router.push('/')or一样简单,this.$router.push(user)但什么也没有发生。这是代码...

async initialise({ commit, state}) {
    this.$toast.info('Initialising...');
    try {
      const { data } = await this.$axios.get(`/initialise/${state.auth.user.shop}`);
      commit('INITIALISE_SHOP', data.shop);
      commit('employees/SET_EMPLOYEES', data.employees, { root: true })
      this.$toast.success('Login Successful');
      this.$router.push('/'); <<< this is the offending line
    } catch (error) {
      this.$toast.error('Unable to fetch schedule data. Please contact the Support Team.');
    }
  }

更奇怪的是,如果我去掉所有的代码,只是把路由器功能放进去,根本不会做任何事情。

让我补充一下...

如果我在任何地方添加console.log()到代码中,它将记录下来。我可以把它放在 http 请求之前,我可以把它放在之前,$toast或者我可以把它放在不成功之后this.$router.push(''),它会记录我输入的任何内容。

4

0 回答 0