Vue - перенаправление роута не работает в хранилище. js функция отправки - PullRequest
1 голос
/ 27 марта 2020

Я пытаюсь использовать vue -рутер в моем магазине. js методы файла для перенаправления пользователя после входа в систему, но по какой-то причине он просто отправляет его обратно на предыдущую страницу. Если я использую vue -рутер на любой из моих страниц. vue, он работает просто отлично.

Что я делаю не так?

вот мои маршруты. 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 
  }
  ]
})

Вот мой магазин. 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;

1 Ответ

1 голос
/ 27 марта 2020

router.go(n) используется для навигации по стеку истории: https://router.vuejs.org/guide/essentials/navigation.html#router - go -n

Используйте взамен router.push({name: "page2"}).

...