如何在Vuex中获得Vue Router Params?

时间:2018-06-12 19:10:58

标签: vue.js vue-router vuex

我无法使用

this.$route.params
route.params
router.params

如何在行动中获得$ route的参数?

2 个答案:

答案 0 :(得分:7)

在你的actions.js或store.js

import router from 'path/to/router'
console.log(router.currentRoute.params)

答案 1 :(得分:0)

您可以使用Vuex通过state或rootState访问当前路由。

如果操作在模块中,请使用rootState:

MY_ACTION: ({rootState}) => new Promise((resolve, reject) => {
    let params = rootState.route.params
    // do stuff
}

如果操作不在模块中,请使用状态:

MY_ACTION: ({state}) => new Promise((resolve, reject) => {
    let params = state.route.params
    // do stuff
}

有关上下文对象的更多信息,请参见https://vuex.vuejs.org/api/#actions