Vuex实现数据控制

在使用vue做按钮控制时,有时候需要记住按钮函数的执行状态,考虑之下使用vuex实现。

**

思路

**

1、使用v-show控制按钮显隐
2、使用计算函数控制
3、按钮点击事件传值
4、state里接收值

代码实现

//页面
<button class="pull connectBtn" @click="Connect" v-show="!isConnect">连接</button>
<button class="pull breakBtn" @click="breakOff" v-show="isConnect">断开</button>

//计算函数
computed:{
  	isConnect(){
    	return this.$store.state.isConnect
    }
},
//点击事件
methods:{
	Connect:function () {
		this.$store.commit('setIsConnect', true);
	},
	breakOff:function () {
        this.$store.commit('setIsConnect', false);
    },
}

store

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);

const state={
	isConnect:false,
};
const getters = {
};
const mutations = {
//处理通过commit传过来的值
	setIsConnect(state,status){
	        state.isConnect = status;
	}
};
const store = new Vuex.Store(
    {state,getters,mutations,actions}
);

export default store;

最终效果
点击之前
点击之前
点击之后
点击之后

需要注意vuex数据的储存是储存在内存里,一旦网页刷新,内存清空,状态会回到点击之前。如果需要长期显示点击之后,需要结合Local Storage等储存方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值