vue.js - 即使命名空间为 :false,vuex mapState 是否始终需要模块名称作为参数

标签 vue.js vuex vuex-modules

我期望如果我有一个具有 namespaced:false 的模块(我认为这也是默认的),那么它的 state 应该是“全局”的一部分"或 "root"命名空间,我可以执行 "...mapState('someStateAttribute') 然后引用 someStateAttribute 但似乎我必须使用 ...mapState('modulename','someStateAttribute') 否则它不起作用。

只是这样吗?或者我错过了什么?

最佳答案

看看mapState's signature :

mapState(namespace?: string, map: Array<string> | Object<string | function>): Object

这意味着第一个参数命名空间是可选的。但如果您提供一个字符串作为第一个参数,它将是命名空间

要实现您想要的目标,您应该这样做:

...mapState(['someStateAttribute'])

关于vue.js - 即使命名空间为 :false,vuex mapState 是否始终需要模块名称作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49975069/

相关文章:

vue.js - 如何从父组件调用子组件中的方法?

vue.js - 有没有办法在两个命名空间的 vuex 模块之间分派(dispatch)操作?

javascript - 多个 vue js 实例与组件,ajax 选项卡

javascript - 如何在 Vuejs 中将类切换到 body 标签?

vue.js - 无法访问 Vuex 存储对象的属性

javascript - 在另一个属性中引用元素属性

vue.js - Vue Single page app Router,当我们改变路由时组件会发生什么?

vue.js - vuex 模块 appState 不适用于作为第一个参数传递的模块命名空间

node.js - Vue Node.js/express 应用程序错误无法设置未定义的属性渲染

javascript - 在 v-select 中自定义项目文本