每当路由更改时如何提交突变以存储

How to commit a mutation to store whenever route changes

有没有什么方法可以在路由改变时提交一个突变来存储而不使用Vuex插件来监听route/突变?

使用 vuexnuxtvue-router + vue-router-sync

编辑:我正在尝试在商店的不同部分提交,而不仅仅是 route 部分。

看到很多问相反的问题,但不是这个,请在​​标记重复时记住;)。

您可以在路由器上注册一个 afterEach 侦听器并从那里提交您的变更:

router.afterEach((to, from) => {
  store.commit('MY_MUTATION', ...)
})

我不熟悉 nuxt,但这可能有用:

// plugins/sync.js

export default ({ app: { router, store } }) => {
  router.afterEach((to, next) => {
    store.commit('MY_MUTATION', ...)
  })
}
// nuxt.config.js

plugins: [
  '~plugins/sync'
]