【问题标题】:Vue-router redirecting not working on store.js dispatch functionVue-router重定向不适用于store.js调度功能
【发布时间】:2020-03-27 18:46:14
【问题描述】:

我正在尝试在我的 store.js 文件方法中使用 vue-router 在执行登录后重定向用户,但无论出于何种原因,它只是将他发送回上一页。如果我在我的任何 .vue 页面中使用 vue-router,它就可以正常工作。

我做错了什么?

这是我的 routes.js 文件

import Vue from 'vue'
import VueRouter  from 'vue-router'
import login from '@/views/login'
import page2 from '@/views/page2 '

Vue.use(VueRouter)

export default new VueRouter({
  routes: [
    {
        path: '/',
        name: 'login',
        component: login
    },
    {
      path: '/page2 ',
      name: 'page2 ',
      component: page2 
  }
  ]
})

这是我的 store.js 文件

import Vue from 'vue'
import Vuex from 'vuex'
import axios from '@/axios.js'
import router from '@/routes';

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    token: ''
  },
  mutations: {
    login (state, payload){
      return state.token = payload;
    }
  },
  actions: {
    login ({ commit }, payload) {
      axios.get('/login',{
        auth: {
          username: payload.username,
          password: payload.password
        }
      }).then(function (response) {
        commit('login', response.data['user-token'])
        router.go('page2')
      })
    }
  }
  })

  export default store;

【问题讨论】:

    标签: javascript vue.js vue-router


    【解决方案1】:

    router.go(n) 用于在历史堆栈中导航:https://router.vuejs.org/guide/essentials/navigation.html#router-go-n

    请改用router.push({name: "page2"})

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-27
      • 2018-06-23
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 2016-02-21
      相关资源
      最近更新 更多