简介:有时候,频繁调用的函数,我们需要把它挂载在全局的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();
创作不易,感觉有用,就一键三连,感谢(●'◡'●)