vuex的基本概念

1、什么是vuex?

   Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组的状态,并以相应的规则保证状态以一种可预测的方式发生变化

2、vuex 的用途

  能够实现组件之间数据的共享。

3、vuex的工作原理:

在组件中通过dispatch来调用actions中的方法,在actions中通过commit来调用mutations中的方法mutaions中的方法中可以直接操作state中的数据,只要state中的数据发生改变,就会立即响应到所有的组件上

4、vuex的五大核心

1、state:定义数据

 

2、mutations:定义操作数据的方法,简单的操作,不能是异步的

存储方法 用来直接操作state中的数据。我们现在mutations中定义一个方法,设置两个参数分别是state和自定义参数,然后在页面中使用this.$store.commit('定义的方法名',参数)。

 

3、actions:定义操作数据的复杂的方法,比如AJAX等异步代码

4、getters:先处理state中的数据,然后返回处理之后的结果,有点类似过滤器

const store = new Vuex.Store({
   //state存储应用层的状态
   state:{
      count:5  //总数:5
   },
   getters:{
      newCount:state => state.count * 3
   }
 })

5、modules:分模块使用


const moduleAA = {
 state: { ... },
 mutations: { ... },
 actions: { ... },
 getters: { ... }
 }
const moduleBB = {
 state: { ... },
 mutations: { ... },
 actions: { ... }
 }
 
const store = new Vuex.Store({
 modules: {
  a: moduleAA,
  b: moduleBB,
})

6、plugins:插件(持久化存储)

5、vuex 持久化

1、先在小黑框下载

cnpm install vuex-persistedstate --save

2、然后再store/index 上面配置

import persistedState from 'vuex-persistedstate'

然后继续添加 

plugins: [persistedState()] 

示例代码如下:

 6、vuex的使用

(1)基本使用 在vue的原型上有一个$store对象可以调用vuex的任何东西

  • state this.$store.state.**

  • mutations this.$store.commit("方法名",参数) 参数只能传一个

  • actions this.$store.dispatch("方法名",参数)

  • getters this.$store.getters.**

  • module this.$store.模块名.state

(2)使用映射函数

将vuex的中的成员映射到组件中然后使用

mapState mapMutations mapGetters mapActions

步骤:

  • 在组件中导入需要的函数

    import {mapState,mapGetters **} from "vuex"
  • 映射函数在组件中对应位置

    • mapState    ---computed

    • mapGetters --computed

    • mapMutations--methods

    • mapActions--methods

 本人如果写有不对的地方 ,望广大读者提出,定会及时修改

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值