Vuex应用

1.vuex :是一个专为vue.js开发的状态管理器,采用集中式存储的所有组件状态,通过vuex我们可以解决组件之间数据共享的问题,后期也方便我们管理以及维护

有五个属性分别是: state、getters、mutations、actions、modulestate属性: 存放状态,例如你要存放的数据getters: 类似于共享属性,可以通过this.$store.getters来获取存放在state里面的数据mutations: 唯一能改变state的状态就是通过提交mutations来改变,this.$store.commitstore

actions: 异步的mutations,可以通过dispatch来分发从而改变state1

2.基本使用:我通过是在根目录下新建一个store文件夹,里面创建一个index.js文件,最后在main.js中引入,并挂载到实例上,之后那个组件中需要用到vuex就调用就行

3.高级用法-数据持久化:

vuex里面存放的数据,页面一经刷新会丢失:
解决办法: 存放在localStorage(罗阔思到润肌)或者sessionStorage(塞森思到润肌)里面,进入页面时判断是否丢失,丢失再去localStorage或者sessionStorage里面取;

在vuex中可以通过安装vuex-persistedstate(普塞思特思得特) 插件,进行持久化的配置就行

4.高级用法-辅助函数(语法糖)

1. 有那几个辅助函数(4大金刚)
mapState,mapActions,mapMutations,mapGetters
2. 辅助函数可以把vuex中的数据和方法映射到vue组件中。达到简化操作的目的

3. 如何使用:Map

Import { mapActions, mapMutations (方法), mapGetters, mapState(计算属性里) } from 'vuex'

MapStata,mapGetters在computed里面使用,通过…展开

mapMutations,mapActions在methods里使用,通过…展开

computed: {

    ...mapState(["number1""number2"]), // 在组件通过this就可调用,不用再写this.$store.state

    // ...mapState({ 另一种写法

    //   number1: state=>state.number1,

    //   number2: state=>state.number2

    // }),

事件方法里面怎么调用?

 methods: {

    ...mapMutations(["changeNumber1""changeNumber2"]),

    // 定义别名方式

    // ...mapMutations({

    //   changeNumber1Alias: 'changeNumber1',

    //   changeNumber2Alias: 'changeNumber2'

    // }),

  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值