为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Vuex的state在调用的时候要加上模块名但是getter就不需要?

为什么Vuex的state在调用的时候要加上模块名但是getter就不需要?

米琪卡哇伊 2018-08-31 18:10:14
这样搞的很混乱啊,一会儿是this.$store.state.模块.状态名,一会儿是this.$store.getter.获取器名。有啥办法能够让getter也像状态一样必须按模块调用吗?
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

getter写在模块里面

const moduleA = {

  state: { ... },

  mutations: { ... },

  actions: { ... },

  getters: { ... }

}


const moduleB = {

  state: { ... },

  mutations: { ... },

  actions: { ... }

}


const store = new Vuex.Store({

  modules: {

    a: moduleA,

    b: moduleB

  }

})


store.state.a // -> moduleA 的状态

store.state.b // -> moduleB 的状态


查看完整回答
反对 回复 2018-09-09
?
呼如林

TA贡献1798条经验 获得超3个赞

vuex模块内部的 action、mutation、和 getter 默认是注册在全局命名空间

中文的文档没更新,英文文档已经介绍了namspaced属性了,应该是从2.1.0版本开始支持

这个issue又介绍了以后的namespace属性


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 2017 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信