Vue中掛載全局的方法詳解
簡介
有時候,頻繁調(diào)用的函數(shù),我們需要把它掛載在全局的vue原型上,方便調(diào)用,具體怎么操作,這里來記錄一下。
一、這里以本地存儲的方法為例
var localStorage = window.localStorage; const db = { /** * 更新狀態(tài) */ save(key, value) { // console.log(key, value); try { localStorage.setItem(key, JSON.stringify(value)); } catch (error) { console.error("Error storing data in localStorage:", error); } }, /** * 獲取狀態(tài),如果有狀態(tài)值,獲取最新狀態(tài)值;如果沒有,獲取默認(rèn)值 */ get(key, getSaveVal = null) { // console.log(key, getSaveVal); try { return JSON.parse(localStorage.getItem(key)) || getSaveVal; } catch (err) { // console.log(err); return null; // 如果發(fā)生錯誤,也返回 null } }, /** * 移除狀態(tài) */ remove(key) { // console.log(key); localStorage.removeItem(key); }, /** * 清空狀態(tài) */ clear() { localStorage.clear(); } }; export default db;
二、在main.js中引入存儲方法,然后在路由守衛(wèi)中掛載在vue的原型上
import db from "@/store/localStorage"; new Vue({ el: '#app', beforeCreate() { // 在 Vue 實例創(chuàng)建之前將 db 方法添加到原型上 Vue.prototype.$db = db; }, router, store, render: h => h(App) })
三、最后,就可以在全局的vue組件中使用
//直接在created里面打印查看 created() { console.log(this.$db); },
可以看到,db方法掛載成功
直接使用,通過this.$db方法,調(diào)用指定方法
//存儲數(shù)據(jù) this.$db.save('存儲的名字',存儲的數(shù)據(jù) ); //獲取數(shù)據(jù) this.$db.get("獲取的存儲數(shù)據(jù)名稱"); //移除數(shù)據(jù) this.$db.remove("移除存儲數(shù)據(jù)的指定名稱"); //全部清空 this.$db.clear();
到此這篇關(guān)于Vue中掛載全局的方法詳解的文章就介紹到這了,更多相關(guān)Vue掛載全局內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3使用sessionStorage保存會話數(shù)據(jù)的實現(xiàn)方式
在前端開發(fā)中,我們常常需要在用戶會話期間保存一些數(shù)據(jù),這些數(shù)據(jù)在頁面刷新或?qū)Ш綍r依然需要存在,sessionStorage 是一種非常方便的方式來實現(xiàn)這一點,在這篇文章中,我們將探討如何在Vue3應(yīng)用中使用sessionStorage來保存會話數(shù)據(jù),需要的朋友可以參考下2025-01-01Vue Vine實現(xiàn)一個文件中寫多個組件的方法(最近很火)
Vue Vine提供了全新Vue組件書寫方式,主要的賣點是可以在一個文件里面寫多個vue組件,Vue Vine是一個vite插件,vite解析每個模塊時都會觸發(fā)插件的transform鉤子函數(shù),本文介紹Vue Vine是如何實現(xiàn)一個文件中寫多個組件,感興趣的朋友一起看看吧2024-07-07vue如何從后臺獲取數(shù)據(jù)生成動態(tài)菜單列表
這篇文章主要介紹了vue如何從后臺獲取數(shù)據(jù)生成動態(tài)菜單列表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04基于vue項目設(shè)置resolves.alias: ''@''路徑并適配webstorm
這篇文章主要介紹了基于vue項目設(shè)置resolves.alias: '@'路徑并適配webstorm,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12Vue路由跳轉(zhuǎn)傳參或者打開新頁面跳轉(zhuǎn)問題
這篇文章主要介紹了Vue路由跳轉(zhuǎn)傳參或者打開新頁面跳轉(zhuǎn)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03