求和案例vuex版
App.vue
<div id="app"> <h1>当前总数为:{{$store.state.nbr}}</h1> <select v-model.number="n"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <button @click="add">+</button> <button @click="subtract">-</button> <button @click="odd">为奇数再加</button> <button @click="item">等一等再加</button> <!-- <router-view/> --> </div>
data(){ return{ n:1, } }, methods:{ add(){
//调用vuex文件的名字叫做add的事件 this.$store.dispatch('add',this.n) }, subtract(){ this.$store.dispatch('subtract',this.n) }, odd(){ this.$store.dispatch('odd',this.n) }, item(){ this.$store.dispatch('item',this.n) } },
store.js文件
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
// 用于存储数据
state: {
nbr:0,//当前的和
},
// 用于操作数据
mutations: {
// 加
add(state,value){
state.nbr +=value
},
// 减
subtract(state,value){
state.nbr -=value
},
// 是奇数再加
odd(state,value){
if (state.nbr % 2 ==1) {
state.nbr += value
}
},
// 等一等再加
item(state,value){
setTimeout(()=>{
state.nbr += value
// console.log(this.nbr);
// // 时间间隔
},1000)
},
},
// 用于响应组件中的动作
actions: {
add (context,value){
//context.commit('名字不是固定的可以和主页面的名字不一样',value)
context.commit('add',value)
},
subtract (context,value){
context.commit('subtract',value)
},
odd(context,value){
context.commit('odd',value)
},
item(context,value){
context.commit('item',value)
}
}
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具