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();

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

相关推荐

  1. vue3挂载axios挂载全局方法

    2024-03-29 13:06:01       37 阅读
  2. vue3挂载全局方法

    2024-03-29 13:06:01       56 阅读
  3. vue2挂载全局方法/组件

    2024-03-29 13:06:01       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 13:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 13:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 13:06:01       82 阅读
  4. Python语言-面向对象

    2024-03-29 13:06:01       91 阅读

热门阅读

  1. python 之 常见错误信息

    2024-03-29 13:06:01       42 阅读
  2. pytorch中torch.stack()用法虽简单,但不好理解

    2024-03-29 13:06:01       36 阅读
  3. FFMPEG C++封装(二)

    2024-03-29 13:06:01       33 阅读
  4. 深入理解与实战CSS变量

    2024-03-29 13:06:01       44 阅读
  5. Chapter 4 of Effective C++ (设计与声明)

    2024-03-29 13:06:01       38 阅读
  6. Shell教程_不同Shell中变量定义和使用的差异

    2024-03-29 13:06:01       37 阅读
  7. 掌握ChatGPT:轻松撰写学术论文的利器

    2024-03-29 13:06:01       44 阅读
  8. 如何拉取 GitHub 上项目的更新?

    2024-03-29 13:06:01       41 阅读