(vue)Vuex

Vuex

在这里插入图片描述

认识Vuex

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

状态管理模式

状态管理模式、集中式存储管理

可以简单的看做:把需要多个组件共享的变量全部存储到一个对象当中;然后将这个对象放到顶层的Vue实例当中,让其他组件可以使用

一般什么会放到Vuex中
  • 状态需要在页面之间共享的
    比如:登录状态、用户名、头像、地理位置信息
    比如:购物车信息

vuex内容解析

官方文档:https://vuex.vuejs.org/zh/guide/

state

存放变量

mutations

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation;类似于事件。

尽量不要再mutations中进行异步操作。

将mutations方法名修改成为常量

新建mutations_type.js用来存储静态变量
在这里插入图片描述

store.js中mutations
在这里插入图片描述
方法的定义也可以使用如下这种方式

[静态变量](参数)
{
	//方法体
}

actions

对state进行异步操作

基本用法

actions代码段

actions:{
	        aupdatePerson(context,payload){
	            setTimeout(() => {
	                context.commit("updatePerson");
	                console.log(payload.message);
	                payload.success();
	            }, 1000);
	        }
		}

Vue方法代码段

            this.$store.dispatch('aupdatePerson',{
                message:'携带的信息',
                success:()=>{
                    console.log("异步完成")
                }
            })
使用promise
actions:{
	        aupdatePerson(context,payload){
	            return new Promise((resolve,reject)=>{
	                setTimeout(() => {
	                    context.commit('updatePerson')
	                    console.log(payload);
	                    resolve("promise中传递数据")
	                }, 1000);
	            })
	        }
        }

Vue代码段

            this.$store.dispatch('aupdatePerson',"异步携带的信息").then(res=>{
                console.log("异步完成");
                console.log(res);
            })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值