Vuex

一.什么是Vuex

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

Vuex主要解决大中型复杂项目的数据共享问题。

二.Vuex的核心

state:所有的数据都存储在state中 state是一个对象

mutations:可以直接操作state中的数据

actions:只能调用mutations的方法

getters:类似计算属性实现对state中的数据做一些逻辑性的操作

modules:将仓库分模块存储

plugins : 插件

主要流程:

组件通过 dispatch 到 actions;actions 是异步操作,再 actions 中通过 commit 提交到 mutations;mutations 再通过逻辑操作改变 state ,从⽽同步到组件,更新其数据状态。

三.Vuex使用

        (1)把数据存储到Vuex中

           this.$store.commit("方法名",参数)  参数只能传一个 ,如果有多个参数,可以传一个对象

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

        (2){{$store.state.value}}   在组件中显示 Vuex 中的数据

            2.映射

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

                mapState  mapMutations  mapGetters  mapActions

                步骤:

                        (1)在组件中导入需要的函数

               import {mapState,mapGetters **} from "vuex"

                        (2)映射函数在组件中对应位置

                                mapState --computed

                                mapGetters --computed

                                mapMutations--methods

                                mapActions--methods

                        语法:

                                computed:{ ...mapState(['student']) }

四.Vuex持久化

        1.本地存储

            localStorage.setItem("token",JSON.stringify(res.data)) 存储

            JSON.parse(localStorage.getItem('token')) || [ ] 来获取本地存储

        2.第三方插件

                (1) 安装插件    npm install vuex-persistedstate --save

              (2)在store文件中的index.js中引入 vuex-persistedstate 并配置     

import createPersistedState from "vuex-persistedstate"
const store =newVuex.Store({
 state: {},
 mutations: {},
 actions: {},
 plugins: [createPersistedState()]
})

                

           

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值