Vue3中的Vuex

store.js

//vuex
import { createStore } from 'vuex'
export default createStore({
state: {
num:1
},
mutations: {
/**
* @description: 修改num成新的num
* @param {*} state 上方的state对象
* @param {Number} newNum 新的num数值
* @return {*} none
*/
setNum(state,newNum) {
state.num = newNum
}
},
actions: {
// 异步递增num
addAsync(store){
setTimeout(()=>{
console.log(store.state.num+=10);
},1000)
}
},
modules: {
}
})

应用

<script setup>
import {useStore} from 'vuex'
import {onMounted} from 'vue'
// vuex实例
const store =new useStore();
onMounted(()=>{
// 调用state中的title,并且加1
store.state.num+=1
store.state.num+=1
console.log(store.state.num);//3
// 调用mucation里的setNum方法,第二个参数为setNum方法里的第二个参数
store.commit('setNum',10);
console.log(store.state.num);//已经修改成10了
// 调用action里的addAsync方法
store.dispatch('addAsync')//输出结果:20
})
</script>
posted @   Felix_Openmind  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}
点击右上角即可分享
微信分享提示