vuex,定义namespaced的module,如何在store.dispatch和store.commit中调用

问题

这个action怎么表明是routes这个module的

      store
        .dispatch('addRoutes')
        .then(res => {
          router.addRoutes(res)
          next({ ...to })
        })
        .catch(err => {
          console.log(err)
          next('/login')
        })

clipboard.png

在module里,在adminUser,调用router的action的方法,报错了,如下图

clipboard.png

阅读 3.1k
1 个回答

比如定义在app模块里名为setName的mutation,可以这样this.$store.commit('app/setName'),也可以这样:

// 先引入
import { createNamespacedHelpers } from 'vuex'
const appStore = createNamespacedHelpers('app')
// 然后在methos里加:
methods: {
    ...appStore([
        'setName'
    ])
}
// 然后需要使用this.$store.commit('app/setName')的地方,都可以直接用this.setName()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题