求和案例
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const actions = {
conditionAdd(context,value){
if(context.state.sumNumber % 2){
context.commit('JIA',value)
}
},
addLater(context,value){
setTimeout(()=>{
context.commit('JIA',value)
},500)
}
}
const mutations = {
JIA(state,value){
state.sumNumber = value + state.sumNumber
},
JIAN(state,value){
state.sumNumber = state.sumNumber - value
}
}
const state = {
sumNumber: 0
}
export default new Vuex.Store({
actions,
mutations,
state
})
<!-- Count组件 -->
<template>
<div>
<!-- 模板中获取state中的数据 -->
<h1>当前求和为:{{$store.state.sumNumber}}</h1>
<div>
<select v-model="selectedNumber">
<option :value="1">1</option>
<option :value="2">2</option>
<option :value="3">3</option>
</select>
<button type="button" @click="addition">+</button>
<button type="button" @click="subscribe">-</button>
<button type="button" @click="conditionAdd">当前和为奇数再加</button>
<button type="button" @click="addLater">等一等再加</button>
</div>
</div>
</template>
<script>
export default {
name: 'Count',
data(){
return {
selectedNumber: 0,
}
},
methods:{
addition(){
this.$store.commit('JIA',this.selectedNumber)
// this.$store.dispatch('jia',this.selectedNumber)
},
subscribe(){
// 如果没有业务逻辑相关的操作,而且也不会发送Ajax请求,直接调用commit即可
this.$store.commit('JIAN',this.selectedNumber)
// this.$store.dispatch('jian',this.selectedNumber)
},
conditionAdd(){
this.$store.dispatch('conditionAdd',this.selectedNumber)
},
addLater(){
this.$store.dispatch('addLater',this.selectedNumber)
}
}
}
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本