vuex

2019-08-15  本文已影响0人  没了提心吊胆的稗子

vuex是一个专门为Vue.js应用程序开发的状态管理模式
可以把这个状态理解为data中的属性,可以供其他组件使用
vuex:有五种默认的基本对象

  • state:存储状态
  • getters:对数据获取之前的再次编译,可以理解为state的计算属性。在组件中使用$store.getters.fun()可以调用其中的方法
  • mutations:修改状态,同步操作。在组件中使用$store.commit('', params)。跟自定义事件类似
  • actions:异步操作,在组件中使用$store.dispath('')
  • modules:store的子模块,为了开发大型项目,方便状态管理而使用的

使用
mutations使用的坑:
this.$store.commit('mutationsReduceCount',n);直接这样调用是不可的,因为在Store的实例上除了getters其他几个都是私有属性,因此不允许直接调用,组件中使用的时候要通过```javascript
// 1、引入
import { mapMutations } from 'vuex'
// 2、映射
methods:{
...mapMutations([
'mutationsAddCount', //将 this.mutationsAddCount() 映射为 this.$store.commit('mutationsAddCount')
'mutationsReduceCount'
])
}

上一篇 下一篇

猜你喜欢

热点阅读