vuex中的actions中如何做路由跳转?

前端通过socket连接服务器,需要在接收服务端返回的方法中跳转路由,这个接收的方法在 store.js 的actions中,想问下在actions 中能获取到路由吗?
目前试过 Vue.$router, Vue.router 都是无法获取的, 应该怎么做呢?

main.js

const router = new VueRouter({ routes })
const vm = new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

store.js

const actions = {
    show({ commit, state}, data) {
        // TODO:  切换路由
        // router.push({ name: 'user', params: { userId: 123 }})
        commit('show', data);
    },
}

上面的router应该怎么获取呢?

阅读 15.1k
1 个回答

在vue的组件页面中,调用actions的时候,可以将$router对象已参数的方式传递到对应的actions中譬如下图图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏