如何配置Vue mapActions

bin*_* ye 2 vue.js vuex

vue-cli 商店

我的代码是这样的: ...mapActions('some/nested/module',[ 'getCountry', 'getCurrency' ]),

在此输入图像描述

如何在Vue组件中设置mapActions路径?

Dig*_*ter 6

mapActions用于组件的methods属性。

// my-component.vue
import { mapActions } from 'vuex'

export default {
    ...
    methods: {
        ...mapActions('namespaced/module', [
            'myAction',
            'myOtherAction'
        ])
    }
}
Run Code Online (Sandbox Code Playgroud)

命名空间可以由模块的文件名确定。例如,给定一个文件 - moduleA.jsgetters、mutations、actions 将被命名为moduleA/someGetter, moduleA/someAction, moduleA/someMutation。

...mapActions('moduleA', [
    'someAction',
    'anotherAction'
])
Run Code Online (Sandbox Code Playgroud)

注册模块时,其所有 getter、action 和mutations 将根据模块注册的路径自动进行命名空间

另一种方法是使用该registerModule方法,它允许动态运行时注册:

// register a module `myModule`
store.registerModule('myModule', {
  // ...
})

// register a nested module `nested/myModule`
store.registerModule(['nested', 'myModule'], {
  // ...
})
Run Code Online (Sandbox Code Playgroud)

Vuex 文档 - 命名空间

Vuex 文档 - 动态模块注册