如何在 Vuex 中获取 Vue Router 参数?

How to get Vue Router Params in Vuex?

我无法使用

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

如何在我的操作中获取 $route 的参数?

在您的 actions.js 或 store.js

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

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