这篇文章主要介绍了vuex中特殊应用的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
有需求才会有应用!
需求:vue项目中,我需要一个类似全局的变量保存一个tag的值,在不同层级下的子组件中,对这个变量进行修改,并且使变化的结果作用在组件页面上。
这里使用vuex解决问题,代码如下:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
const state = {
spinTag: false, //spin组件标记
};
//改变状态的方法
const mutations = {
spinTagTAG(state, tag) {
state.spinTag = tag;
}
};
var store = new Vuex.Store({
state,
mutations
});
export default store;
此时,在任意子组件中用一下代码即可完成我需求中提到得,修改值并且作用与组件页面中。
this.$store.commit('spinTagTAG', true); // 打开spin组件
此需求来源于antd vue下spin组件不能覆盖整个浏览器,并且随叫随到,于是,我用了vuex。
代码如下:
<template>
<div id="app">
<a-spin size="large" :spinning="this.$store.state.spinTag">
<router-view></router-view>
</a-spin>
</div>
</template>
感谢你能够认真阅读完这篇文章,希望小编分享的“vuex中特殊应用的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!