当前位置: 首页 > news >正文

Vue挂载全局方法

简介:有时候,频繁调用的函数,我们需要把它挂载在全局的vue原型上,方便调用,具体怎么操作,这里来记录一下。

一、这里以本地存储的方法为例

var localStorage = window.localStorage;
const db = {/** * 更新状态 */save(key, value) {// console.log(key, value);try {localStorage.setItem(key, JSON.stringify(value));} catch (error) {console.error("Error storing data in localStorage:", error);}},/** * 获取状态,如果有状态值,获取最新状态值;如果没有,获取默认值 */get(key, getSaveVal = null) {// console.log(key, getSaveVal);try {return JSON.parse(localStorage.getItem(key)) || getSaveVal;} catch (err) {// console.log(err);return null; // 如果发生错误,也返回 null}},/** * 移除状态 */remove(key) {// console.log(key);localStorage.removeItem(key);},/** * 清空状态 */clear() {localStorage.clear();}
};
export default db;

二、在main.js中引入存储方法,然后在路由守卫中挂载在vue的原型上

import db from "@/store/localStorage";new Vue({el: '#app',beforeCreate() {// 在 Vue 实例创建之前将 db 方法添加到原型上  Vue.prototype.$db = db;},router,store,render: h => h(App)
})

三、最后,就可以在全局的vue组件中使用

//直接在created里面打印查看
created() {console.log(this.$db);
},

可以看到,db方法挂载成功

直接使用,通过this.$db方法,调用指定方法

//存储数据
this.$db.save('存储的名字',存储的数据 );//获取数据
this.$db.get("获取的存储数据名称");//移除数据
this.$db.remove("移除存储数据的指定名称");//全部清空
this.$db.clear();

创作不易,感觉有用,就一键三连,感谢(●'◡'●)

相关文章:

  • Docker 夺命连环 15 问
  • 【深度学习】YOLO检测器的发展历程
  • Java并发编程: 第九章 异步编程
  • 图解Kafka架构学习笔记(二)
  • 【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析
  • DC电源模块的设计与制造流程
  • 基于Python的商品评论文本情感分析
  • 【Pt】马灯贴图绘制过程 02-制作锈迹
  • 字符串的函数
  • 跟着cherno手搓游戏引擎【29】Batch简单合批
  • RSTP环路避免实验(华为)
  • 图论之路径条数专题
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果
  • 关于io多路复用select() 读就绪 写就绪 的浅显理解
  • macOS 13 Ventura (苹果最新系统) v13.6.6正式版
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Google 是如何开发 Web 框架的
  • 分享的文章《人生如棋》
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 2017 年终总结 —— 在路上
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • E-HPC支持多队列管理和自动伸缩
  • fetch 从初识到应用
  • Git初体验
  • java8-模拟hadoop
  • js ES6 求数组的交集,并集,还有差集
  • js正则,这点儿就够用了
  • leetcode46 Permutation 排列组合
  • OSS Web直传 (文件图片)
  • tweak 支持第三方库
  • Vue 重置组件到初始状态
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端自动化解决方案
  • 使用parted解决大于2T的磁盘分区
  • 我这样减少了26.5M Java内存!
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 用mpvue开发微信小程序
  • 用简单代码看卷积组块发展
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 第二十章:异步和文件I/O.(二十三)
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Git) gitignore基础使用
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (独孤九剑)--文件系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (五)MySQL的备份及恢复
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET轻量级ORM组件Dapper葵花宝典