vuex学习笔记(一看就会)

介绍vux

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

vuex的组成

1.state: 存放状态,例如你要存放的数据
2.getters: 计算属性,可以通过this. s t o r e . g e t t e r s 来获取存放在 s t a t e 里面的数据 3. m u t a t i o n s :改变状态,唯一能改变 s t a t e 的状态就是通过提交 m u t a t i o n s 来改变, t h i s . store.getters来获取存放在state里面的数据 3.mutations: 改变状态,唯一能改变state的状态就是通过提交mutations来改变,this. store.getters来获取存放在state里面的数据3.mutations:改变状态,唯一能改变state的状态就是通过提交mutations来改变,this.store.commit()
4.actions: 异步操作,异步的mutations,可以通过dispatch来分发从而改变state
5.modules:模块化管理store(仓库),每个模块拥有自己的 state、mutation、action、getter

vuex的使用

1.安装vuex依赖包
npm install vuex@next --save
//官网 https://vuex.vuejs.org/zh/
2.建立stoar文件夹里面放index.js
// 导入vuex 创建实例方法
import { createStore } from 'vuex'
// 创建实例对象
const store = createStore({
state() {
return {
// 共用属性:用户信息
userInfo: {}
}
},
mutations: {
// 共用方法: 设置用户信息
setUserInfo(state, user) {
state.userInfo = user
}
}
})
// 导出数据对象
export default store
3.全局引用vuex文件(main.js中)
//导入文件
import store from './store'
//挂载使用
app.use(store)
4.在页面使用(我这里写的是Login.vue向用户页面传值)

Login.vue页面

//引入useStore函数
import { useStore } from "vuex";
//声明useStore方法
const store = useStore();
// 登录成功后获取用户信息
getUserInfo().then((res2) => {
// console.log(res2);
//将登录成功后获取用户信息存入到store共用方法的setUserInfo方法中
store.commit("setUserInfo", res2);
});

用户页面 直接获取

<template>
<!-- 使用store属性中userInfo数据 -->
<div>{{ $store.state.userInfo }}</div>
</template>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值