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

标签 javascript vue.js vue-router vuex

有什么方法可以在使用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'
]

关于javascript - 每当路由更改时如何提交突变以存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47761825/

相关文章:

javascript - 计算属性中的复杂 V-If?

vue.js - 单页应用程序路由

javascript - Vue 路由器 : URL does not load correct component while router-link does

vue.js - 如何在 vue 组合 API 中使用路由器?

javascript - 通过循环将对象添加到数组中的正确方法

javascript - 启用按钮仅在所有字段均已填写时才提交

javascript - Vuejs 和 Webpack 5 Federation typescript 错误

vue.js - 嵌套的 Vue 转换 : one transition works, 其他没有

javascript - 我可以在 Vue 中使用带有箭头函数的样式绑定(bind)吗?

javascript - 如何知道 "who"执行了这个函数