Vue 之 State

一、普通用法

在组件中直接访问:

this.$store.state.count

二、mapState辅助函数用法

使用对象展开运算符,会默认传递参数state,在函数中直接使用就可以了。这样就可以少些2个单词了(this.$store)

...mapState({
  count: state => state.count
})

三、mapState辅助函数用法2

为了能够使用 this 获取组件自己的data数据,必须使用常规函数

...mapState({
      count: function (state) {
        return state.count + this.localCount
      }
    }),

四、mapState辅助函数用法3

当在计算属性中直接引用state的数据时,可以直接传递字符串数组。

...mapState([
      'count'
    ])

这种写法就相当于上面的《mapState辅助函数用法1》

五、mapState的这几种用法可以混合使用

在计算属性中,可以根据实际需要,灵活的组合使用mapState的上面的3种用法。

...mapState({
      countAll: function (state) {
        return state.count + this.localCount
      }
    }),
    ...mapState([
      'count'
    ])
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue组件通信的几种方式【转】 组件通信主要有以下几种方式:props,$emit和$on,vuex,$attrs...
    彩云_789d阅读 4,887评论 0 0
  • 组件可以有以下几种关系: A-B、B-C、B-D都是父子关系 C-D是兄弟关系 A-C、A-D是隔代关系 不同使用...
    cesiuming阅读 2,750评论 0 0
  • vue中组件之间的通信 组件可以有以下几种关系: A-B、B-C、B-D都是父子关系 C-D是兄弟关系 A-C、A...
    叶落疑秋阅读 734评论 0 2
  • state 是Vuex中的基本数据,state 上存放的就是所谓的状态。当没有使用 state 的时候,直接在 d...
    暖A暖阅读 3,610评论 0 0
  • 1、vuex简介以及创建一个简单的仓库 vuex是专门为vue框架而设计出的一个公共数据管理框架,任何组件都可以通...
    不见_长安阅读 2,767评论 0 0