简介
有时候,频繁调用的函数,我们需要把它挂载在全局的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();
到此这篇关于vue中挂载全局的方法详解的文章就介绍到这了,更多相关vue挂载全局内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论