vue3 vuex配置和使用

Ⅰ.导入

 npm  i  vuex   --save
 ---------------------------
 import  Vuex  from  'vuex'
 Vue.use(Vuex);

注意:

版本vuex
vue2要用vuex 3 版本
vue3要用vuex 4 版本

Ⅱ.vue 3 使用 vuex

创建store仓库: /store/index.js

import { createStore } from 'vuex';
export default createStore({
state: {name: 123 },
mutations:{    getname(state,newVal){this.state.name=newVal;}  }, 
//同步方法:(只有mutations才能改state的值)
actions:{   getnameAsync(){ ... }     },  //异步方法
geeter:{},  //相当于计算属性
modules: {}  //将vuex分块
})

简单使用:

import {useStore} from 'vuex'
export default {
	setup(){
		const store  = useStore();
		console.log(store.state.name);    //获取
		store.commit("getname", 12345);  //修改
		store.dispatch("getnameAsync", 12345);  //修改
	}

}

Ⅲ.vue 2 使用 vuex

创建store仓库: /store/index.js

export default  new  Vuex.Store({
state:{count :  0},           //存储变量                                         
mutations: {add(state,step){  state.conut+=step; }},   //存储方法
actions: {addAsync(){...},//异步操作
geeter:{},  //相当于计算属性
modules: {}
})

vue2使用vuex的方法有2种写法:
第一种 : ( 通过this.$store获取 )

 this.$store.state.变量名
 this.$store.commit('add',1);
 this.$store.dispatch('addAsync',1);

第二种 : ( 直接解构出来 ,可以省去this.$store )

 import {mapState,mapMutations,mapActions} from 'vuex';    
 computed:{...mapState(['conut']);}    --->  count  可以直接使用{{conut}}
 methods:{
 	       ...mapMutations(['add']),    ---> button   可以直接使用 @onclick = add(1)
 	       ...mapActions(['addAsync']), ---> button   可以直接使用 @onclick = addAsync()
}

如果vue3觉得使用麻烦的话,可以试试更好用的 pinia 点击这里

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野生切图仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值