Vue全局共享数据之globalData,vuex,本地存储使用方法

article/2025/10/10 17:34:43

目录

 一、globalData

 二、vuex存储方式 1.vue2用法,2.vue3用法

 三、本地存储

uniapp的数据缓存


写在最前面,把vue能用到的存储方法都整理拿出来,方便阅读以及工作用。🍉🍉🍉可以收藏起来即拿即用

 Vue全局共享数据之globalData,vuex,本地存储使用方法

 一、globalData

小程序有globalData,这是一种简单的全局变量机制。这套机制在uni-app里也可以使用,并且全端通用。

🍉🍉🍉js中操作globalData的方式如下: getApp().globalData.text = 'test'

在应用onLaunch时,getApp对象还未获取,暂时可以使用this.globalData获取globalData。

如果需要把globalData的数据绑定到页面上,可在页面的onShow页面生命周期里进行变量重赋值。

nvue的weex编译模式中使用globalData的话,由于weex生命周期不支持onShow,但熟悉5+的话,可利用监听webview的addEventListener show事件实现onShow效果,或者直接使用weex生命周期中的beforeCreate。但建议开发者使用uni-app编译模式,而不是weex编译模式。

globalData是简单的全局变量,如果使用状态管理,请使用vuex(main.js中定义)

🍉🍉🍉具体可以看官网:uni-app官网

 在js中操作globalData的方式如下:

 获取方式:getApp().globalData.text='test'

 二、vuex存储方式 1.vue2用法,2.vue3用法

//store下的index.js存储vuex数据import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);const vuexLocal = new VuexPersistence({storage: window.localStorage,
});export default new Vuex.Store({state: {count:20},plugins: [vuexLocal.plugin],
});//vue3state: {passwordState:false,//登录状态
},
mutations:{// 设置修改登录状态的方法setPasswordState(state,value){state.passwordState = value; },
}
//VUE2中VueX用法import {mapState } from "vuex";export default {computed: {...mapState({count:'count'}),//方法2},computed: mapState({count: 'count', //方法3count: (Store) => Store.count, // 方法4count: function (Store) { // 方法5return '123:' + Store.count},}),methods:{submit2(){console.log(this.$store.state.count,"===");//方法1console.log(this.count,"count")}},
}//vue3中VueX用法const storeState=mapState(['count','name'])
const state={}Object.keys(storeState).forEach(Key=>{const fn=storeState[Key].bind({$store:store})state[Key]=computed(fn)
})//返回...state就行了//(2)使用computed一个一个解析import {useStore} from 'vuex'
import {computed} from 'vue'const store=useStore()
const state=computed(()=>store.state.name)
======================================================
import { onMounted } from 'vue'
import { useStore } from 'vuex'
export default {setup(){//把useStore赋值const $store = useStore();onMounted(()=>{//拿到vuex的值console.log($store.state.passwordState) // false//改变vuex的值$store.commit('setPasswordState',true) //调用vuex的方法//再次打印console.log($store.state.passwordState) // true})return{}}
}

 三、本地存储

    localStorage:可长期存储数据,除非用户清楚localStorage信息,否则数据会一直存在。同一中浏览器之间,不同页面,数据可以共享。

    sessionStorage:短期存储数据,用户关闭标签页后或直接关闭浏览器后数据会清空。同一浏览器不同页面之间,数据不可共享

存储用法:

    // 将this.pickerItem的数据存储入insuranceCode,需提前转化成string类型pickerItem:{id: that.item.id,limit: 100,page: 1,}
//长期存储localStorage.setItem("insuranceCode", JSON.stringify(this.pickerItem));
//短期存储sessionStorage.setItem("insuranceCode", JSON.stringify(this.pickerItem));

读取用法,如何获取到:

//长期存储
localStorage.getItem("insuranceCode")//短期存储
sessionStorage.getItem("insuranceCode")

清除用法:

    // 清除insuranceCodelocalStorage.removeItem("insuranceCode");sessionStorage.removeItem("insuranceCode");// 清除所有localStorage.clear();sessionStorage.clear();

最后补充个uniapp的数据缓存。🍉🍉🍉

uniapp的数据缓存

 

 

这里就整个经常用的,其他的可以看下面的图片。 懒.... 

//uni.setStorageSync(KEY,DATA) 存储try {uni.setStorageSync('storage_key', 'hello');
} catch (e) {// error
}//uni.getStorageSync(KEY)//从本地缓存中同步获取指定 key 对应的内容。try {const value = uni.getStorageSync('storage_key');if (value) {console.log(value);}
} catch (e) {// error
}


http://chatgpt.dhexx.cn/article/e84Qv5cO.shtml

相关文章

微信小程序 | 12.生命周期、globalData全局数据

文章目录 1.小程序的生命周期2.全局数据globalData3.globalData的应用3.1.搭配app.js的onLaunch()存储openid3.2.轮询globalData3.2.1.问题描述 3.2.2.解决方式:轮询globalData 1.小程序的生命周期 小程序生命周期(onLaunch、onShow、onHide、onReady、onLoad、onU…

uniapp 全局静态数据(globalData)的修改和使用

uniapp 全局静态数据(globalData)的修改和使用 全局静态数据: 在App.vue中的调用: this.globalData.systemTitle在App.vue中的修改: this.globalData.systemTitle res.title在pages中调用: let title…

微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法

globalData和storage的区别 一、app.globalData 是全局变量,下次进入的时候,就要重新获取,一般用于: 1、保存一些可能涉及安全类的数据,例如资源类,每次需要很准确的,就建议用全局变量。 2、…

【分布式】什么是分布式技术?

背景: 初代的服务器架构往往比较简单,应用程序、数据库、文件、代码等所有资源都放在一台服务器上,也就是单机结构。随着企业业务量的增多,一台服务器已经难以满足数据处理的需求了,那么对单机进行“复制粘贴”&#…

(分布式网络)基于残差网络的多光谱全色图像分布式融合框架

贡献: ①基于分布式框架(distributed framework)和residual learning,提出了一种鲁棒性强、泛化性能提高的RDFNet泛锐化模型。 ②提出了一种新的三分支泛锐化结构,其中两个分支分别用于提取MS和PAN图像特征。其中最重要的是第三个分支&…

分布式-分布式服务

微服务API 网关 网关的概念来源于计算机网络,表示不同网络之间的关口。在系统设计中,网关也是一个重要的角色,其中最典型的是各大公司的开放平台,开放平台类网关是企业内部系统对外的统一入口,承担了很多业务&#xf…

C++实现轻量级RPC分布式网络通信框架

前言: 2022/4/14更新:  在我重新回顾这篇文章的时候,我觉得里面内容有点乱,主要还是因为RPC里面涉及到很多概念和知识点。本来代码内容就已经挺抽象了,还要结合各种概念,让人难以阅读,所以特地…

C++实现分布式网络通信RPC框架

分布式网络通信rpc框架 项目是分布式网络通信rpc框架(项目源代码链接) 博文中提到单机服务器的缺点: 硬件资源的限制影响并发:受限于硬件资源,聊天服务器承受的用户的并发有限模块的编译部署难:任何模块小…

分布式网络计算机,分布式网络

分布式网络(Distributed Network) [编辑] 什么是分布式网络 分布式网络也叫网状网络,如图1所示,它是由分布在不同地点的计算机系统互连而成,网中无中心节点。通信子网是封闭式结构,通信控制功能分布在各节点上。 [编辑] 分布式网络…

分布式 - 分布式体系架构:集群和分布式

文章目录 01. 什么是集群?02. 集群为什么可以提高系统的可靠性?03. 集群为什么可以提高系统的性能?04. 什么是分布式计算?05. 如何进行分布式计算?06. 集群如何提高计算效率?07. 集群的优点和缺点&#xff…

分布式集群中网络分区问题

分布式集群中网络分区问题 前言如何判断是否发生了网络分区?集中式架构的网络分区形态非集中式架构中的网络分区形态 网络分区最微妙的地方在哪里?网络分区出现概率较高的场景是什么?网络分区有哪些常见的处理方法?方法一&#xf…

网络:分布式和网络的区别

单机结构 我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。 那么,单机结构有啥缺点呢&#…

分布式专题(一)什么是分布式

什么是分布式? 任务分解节点通信 分布式和集群的关系? 电商平台: 用户、 商品、订单、 交易 分布式: 一个业务拆分成多个子系统,部署在不同的服务器上 集群: 同一个业务,部署在多个服务器…

分布式系统与网络分区

在OpenStack中,数据库是主要系统“状态”的主要来源。大部分Core Projects都使用传统关系型数据库作为系统数据和状态的存储,另外如Ceilometer使用了MongoDB,还有其他Incubator Projects使用了Redis作为队列或者状态存储。数据库给OpenStack提…

分布式架构网络通信

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、Hessian、SOAP、ESB和JMS等,它们背后到底是基于什么原理实现的呢 1、基本原理 要实现网络机器间的…

企业分布式网络监控

IT 基础架构已成为提供基本业务服务的基石,无论是内部管理操作还是为客户托管的应用程序服务。监控IT基础设施至关重要,并且已经建立。SMB IT 基础架构需要简单的网络监控工具来监控性能和报告问题。通常,几个 IT 管理员配置网络设备、防火墙…

分布式网络通信框架(一)——集群和分布式

单机聊天服务器 缺点: 受限于硬件资源,服务器所能承受的用户并发量不够大; 任意模块修改,都会导致整个项目代码重新编译、部署; 系统中,有些模块是CPU密集型,有些是IO密集型,造成…

传统分布式网络架构

在同一个自治系统内,当主机A要和A主机B通讯时,需要把发给主机B的数据包先发给网关路由器A,路由器A根据路由表决定数据包下一跳发给路由器B或C,根据IP报文内携带的目的地址11.8.9.12,在路由表中查找最长匹配路由表项&am…

分布式网络基础

在分布式服务化架构设计中,服务与服务之间通信均是基于网络底层协议来实现的,于是我们需要对网络相关基础知识有一个基本的认知,这样在我们服务与服务之间进行通信(跨进程通信)过程能够在我们的脑图形成一个基本的数据传输流程以及其中的细节问题,这样对于我们在进行网络问题的…

服务计算 -- 搭建私有云

服务计算 – 搭建私有云 文章目录 服务计算 -- 搭建私有云下载VirtualBox及所需镜像安装虚拟机配置虚拟机存储位置创建虚拟机内部虚拟网络创建Base虚拟机(Centos为例)链接复制第二台虚拟机 远程桌面访问虚拟机安装图形化界面 下载VirtualBox及所需镜像 …