Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 什么';多个vuex CreateNamespacedHelper的最佳做法是什么?_Typescript_Vue.js_Vuex - Fatal编程技术网

Typescript 什么';多个vuex CreateNamespacedHelper的最佳做法是什么?

Typescript 什么';多个vuex CreateNamespacedHelper的最佳做法是什么?,typescript,vue.js,vuex,Typescript,Vue.js,Vuex,我正在寻找一些关于createNamespacedHelpers的好做法,但找不到 在我的组件中,我想访问两个存储模块。最好的方法是什么 我认为有3种可能性: 1:不使用createNamespacedHelpers编写它 import { mapActions, mapGetters } from "vuex"; ... ... computed: { ...mapGetters({ getterA: "moduleA/getterA",

我正在寻找一些关于
createNamespacedHelpers
的好做法,但找不到

在我的组件中,我想访问两个存储模块。最好的方法是什么

我认为有3种可能性:

1:不使用
createNamespacedHelpers编写它

import { mapActions, mapGetters } from "vuex";
...
...
computed: {
  ...mapGetters({
    getterA: "moduleA/getterA",
    getterB: "moduleB/getterB",
  })
}
2:用两个
CreateNamespacedHelper

import { createNamespacedHelpers } from "vuex";
const { mapActions, mapGetters } = createNamespacedHelpers("moduleA");
const moduleBHelper = createNamespacedHelpers("moduleB");
...
...
computed: {
  ...mapGetters(["getterA"]),
  ...moduleBHelper.mapGetters(["getterB"]),
}
3:我还发现了类似的东西——用两个
createnamespacedhelp
编写,但语法不同

import { createNamespacedHelpers } from "vuex";
const { mapGetters: mapGettersForModuleA } = createNamespacedHelpers("moduleA");
const { mapGetters: mapGettersForModuleB } = createNamespacedHelpers("moduleB");
...
...
computed: {
  ...mapGettersForModuleA(["getterA"]),
  ...mapGettersForModuleB(["getterB"]),
}

你会选择哪一个?有没有更好的办法?或也许从同一个组件访问两个存储模块是一种不好的做法?欢迎发表任何意见:)

我不确定公认的最佳实践是什么,但在您的案例中,我使用了选项3,并且非常喜欢它。我很想看看其他人对此有何看法。