状态管理工具vuex的基本使用(vuebus的理解)
vuex的展示图
1. vuex 的基本结构
const store = new Vuex.Store({state: {} //相当于 vue结构中的 data getters: {}, // 相当于vue结构中的计算属性使用actions: {}, // 相当于vue结构中的监听属性使用mutations: {},//相当于vue结构中的 methods 方法集合 (其中方法第一个参数为vuex的参数,第二个为调用时传递的参数 )modules:{} // 其中客包含另一个vuex 存在,相当大的模块包
})
1.1 vuex 数据持久化设置
数据持久化设置:
2. vuex 的基本使用
import Vue from 'vue'
import Vuex from 'vuex'
import router from '@/router/router.js'Vue.use(Vuex)export default new Vuex.Store({state: {// isOpen: localStorage.getItem("EP_ADMIN_isOpen") == 'true' ? true : false,// isFixed: localStorage.getItem("EP_ADMIN_isFixed") == 'true' ? true : false,isOpen: true,isFixed: true,querylogoimg:"",},mutations: {setIsOpen(state, val) {state.isOpen = vallocalStorage.setItem("EP_ADMIN_isOpen", val)},setIsFixed(state, val) {state.isFixed = vallocalStorage.setItem("EP_ADMIN_isFixed", val)},logocahnge(state , value){// console.log(value);state.querylogoimg = value},},actions: {},modules: {}
})
3. vuex 的页面使用
<script>
import { mapMutations, mapState } from "vuex"
import Api_login from "@/assets/api/login"
export default {data() {return {username: '',// querylogoimg:"",Defaultlogo:require("../../assets/img/login/logo-headportrait.png"),}},computed: {...mapState([ 'isOpen', 'isFixed'])},created() {},mounted() {this.getUserInfoFun(); // 获取登录者用户信息},methods: {...mapMutations(['setIsOpen', 'setIsFixed' , 'logocahnge' ]),getUserInfoFun(){// this.querylogoimg = let _this = this;// 获取用户信息Api_login.getUserInfo().then(res => {if (res.success) {this.username = res.result.name;// 存储头像图片信息this.$store.commit('logocahnge' , res.result.avator)let jsonData = JSON.stringify(res.result);_this.$store.commit("setUserInfo", jsonData);utils.init(this);}});},}
}
</script>也可在 DOM 结构上使用:
<img :src="$store.state.querylogoimg == null ? Defaultlogo : $store.state.querylogoimg" alt="">
最后说下 vuex 中 的 modules
1. 取文件夹中其中一个做代表
2.文件夹结构使用方式
vuebus使用描述推荐:https://blog.csdn.net/qq_41630382/article/details/84100016?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162813297116780264087097%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162813297116780264087097&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-84100016.pc_search_result_control_group&utm_term=vue+bus%E4%BD%BF%E7%94%A8&spm=1018.2226.3001.4187
状态管理工具vuex的基本使用(vuebus的理解)相关推荐
- 在vue项目中引用vuex状态管理工具
在vue项目中引用vuex状态管理工具 一.vuex是什么? 二.使用步骤 1.引入库 2.在main.js文件引入配置 3.配置store/index.js文件 4.获取state数据 5.获取ge ...
- mount 返回状态_状态管理模式 — Vuex如何使用?
Extract 试想当我们在开发一个Vue应用程序时,如果在一个项目中频繁的使用组件传参的方式来同步data中的值,一旦项目结构变得复杂,管理和维护这些数据将变得十分繁琐,为此,Vue为这些被多个组件 ...
- 状态管理 - 全局状态管理工具
文章目录 一.单向数据流 1. 理念示意图 2. 简述 二.什么是全局状态管理模式 三.重点概念 3.1. 什么是全局状态管理模式? 3.2.全局状态管理工具? 3.3. 什么是 vuex 四.在项目 ...
- Vue新一代状态管理工具—Pinia—都2023年了,快学起来吧!
Pinia 基本介绍 Pinia 是 Vue.js 的轻量级状态管理库 官方网站:https://pinia.vuejs.org/ 中文文档: https://pinia.web3doc.top/in ...
- vue3状态管理工具 pinia的使用
vue3状态管理工具 pinia的使用 pinia 是一个轻量级的状态管理库,属于 vue3 生态圈新的成员之一,也可以把它看做 vuex5,同时支持 vue2 和 vue3,模块化的设计让它的结构十 ...
- vue项目的状态管理器(Vuex)
一.什么是vuex Vuex是vue项目的状态管理器(状态管理工具).vue项目的状态是通过vue实例(组件)绑定的变量来体现.所以也可以说vuex是用来管理vue项目中的各种变量(vue项目中的组件 ...
- Vue最新状态管理工具Pinia——彻底搞懂Pinia是什么
Pinia从了解到实际运用--彻底搞懂什么是Pinia 知识回调(不懂就看这儿!) 场景复现 什么是pinia pinia相比vuex的优势 为什么要使用pinia? 基本示例 知识回调(不懂就看这儿 ...
- 状态管理模式 - vuex 的使用介绍
前言 大家好,不知道大家在用 vue 进行开发过程中有没有遇到这样一种场景,就是有些时候一些数据是一种通用的共享数据(比如登录信息),那么这类数据在各个组件模块中可能都会用到,如果每个组件中都去后台重 ...
- [译] ⚛ React 状态管理工具博物馆
原文地址:⚛ The React State Museum: ⚡️View the hottest state management libs for React 原文作者:Gant Laborde ...
最新文章
- CodeForces - 540B School Marks —— 贪心
- 【JavaScript】你知道吗?Web的26项基本概念和技术
- java 协程线程的区别_为什么 Java 坚持多线程不选择协程?
- java设计模式之【策略模式】
- mysql三大范式 答案_数据库三大范式的个人理解~!
- 使用Kubeadm创建k8s集群之节点部署(三十二)
- accsess转成mysql语句_access数据库转mysql经验分享
- 北京环球度假区:尚未发布票务信息,未面向公众销售任何门票
- Djang drf:APIView源码分析
- python大数据论文_大数据环境下基于python的网络爬虫技术
- SVN可视化管理iF.SVNAdmin+LDAP认证
- 利用ExcelJS读取Excel文件
- RH850F1L 移植freeRTOS
- 用123 组成的6位数 的java代码,输入一个三位的整数,计算其每位数字的累加之和。例如:输入整数123后,其每位数字累加之和为6(1+2+3),感激不尽...
- Swing-右键菜单
- 按洲划分的国家和地区代码整理 包含:中文名 英文名 洲 首字母 两位英文代码 三位英文代码 三位数据代码 洲
- 备战Java后端【Day6】
- flv.js播放报错
- Labview2018视频教程(共51节)
- 超酷震撼 HTML5/CSS3动画应用及源码
热门文章
- 机器学习在金融风控实践经验
- python采用pika库使用rabbitmq总结,多篇笔记和示例
- 什么叫临界资源和临界区?
- (原创总结) Quartus II 的在线调试方法
- cygwin安装skyeye 所需的软件包列表
- C++中cin、cin.get()、cin.getline()、getline()、gets()、getchar()、scanf()等函数的用法
- 图论为什么这么难_图论是什么,为什么要关心?
- Linux进程调度策略分析
- 安卓系统被限制之后,华为手机如何在海外市场销售?
- 如果征信有这些行为,申请房贷直接被拒绝