前端通过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应该怎么获取呢?
在vue的组件页面中,调用actions的时候,可以将$router对象已参数的方式传递到对应的actions中譬如下图