教你在Vue3中使用useStorage輕松實(shí)現(xiàn)localStorage功能
VueUse 介紹
VueUse文檔:Get Started | VueUse
VueUse是基于Vue3的Composition API的實(shí)用函數(shù)的集合,useStorage是其中的一個(gè)函數(shù)。我們可以使用useStorage來實(shí)現(xiàn)我們的localStorage功能。
安裝
npm i @vueuse/core
使用CDN
<script src="https://unpkg.com/@vueuse/shared"></script> <script src="https://unpkg.com/@vueuse/core"></script>
useStorage()的用法
useStorage()將要用于引用的鍵名作為第一個(gè)參數(shù)傳遞,將要保存的值作為第二個(gè)參數(shù)傳遞。
值的保存、獲取、刪除
localStorage設(shè)置setItem()來保存值,用getItem()來獲取值,用removeItem來刪除值如下:
<script setup >
import {ref} from "vue";
const counter = ref('消息')
//保存值
localStorage.setItem('counter',counter.value)
//獲取值
const data = localStorage.getItem('counter')
console.log('data',data)
//刪除值
localStorage.removeItem('counter')
</script>而useStorage()只需要一個(gè)就可以進(jìn)行值的保存和獲取,如下,用法:
const storedValue = useStorage('key', value)例子:
const msg = ref('你好')
//保存值
useStorage('msg',msg.value)
//獲取值
const msgData = useStorage('msg')
console.log('msgData',msgData.value)
//刪除
const clear = () => {
msg.value = null
}useStorage()自定義序列化
默認(rèn)情況下,useStorage將根據(jù)提供的默認(rèn)值的數(shù)據(jù)類型智能地使用相應(yīng)的序列化程序。例如,JSON.stringify/JSON.parse將用于對(duì)象,Number.toString/parseFloat用于數(shù)字等。 如下:
import { useStorage } from '@vueuse/core'
useStorage(
'key',
{},
undefined,
{
serializer: {
read: (v: any) => v ? JSON.parse(v) : null,
write: (v: any) => JSON.stringify(v),
},
},
)以上代碼,我們?cè)O(shè)置對(duì)象的名稱為key,初始值為空對(duì)象{},如果存儲(chǔ)中沒有key的值,則返回null。在寫入時(shí),將對(duì)象序列化為JSON字符串。
補(bǔ)充知識(shí):Vue_localStorage本地存儲(chǔ)和本地取值解決方法。
Vue本地存儲(chǔ)(3種)
① localStorage(長(zhǎng)期存儲(chǔ))
存:localStorage.setitem('key',data)
取:localStorage.getitem('key')
② sessionStorage(臨時(shí)存儲(chǔ))
存:sessionStorage.setitem('key',data)
取:sessionStorage.getitem('key')
③ cookie(有時(shí)效性)
一、共同點(diǎn):
①都可以存儲(chǔ),并且存儲(chǔ)只跟域名走、只存儲(chǔ)在當(dāng)前域名下。
二、不同點(diǎn):
?存儲(chǔ)大小不同
①localStoage/sessionStorage /5M
②cookie /4K 有時(shí)效性 如果沒有設(shè)置時(shí)間會(huì)話關(guān)閉自動(dòng)失效
③localStorage/不主動(dòng)刪除,數(shù)據(jù)一直在。
④sessionStorage/在瀏覽器打開期間存在,關(guān)閉當(dāng)前會(huì)話即清空(刷新不清除)
sessionStorage和localStorage用法基本一致,引用類型的值需要轉(zhuǎn)換成Json,我這里用localstorage來舉例。

總結(jié)
到此這篇關(guān)于在Vue3中使用useStorage輕松實(shí)現(xiàn)localStorage功能的文章就介紹到這了,更多相關(guān)Vue3實(shí)現(xiàn)localStorage功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 在Vue3中使用localStorage保存數(shù)據(jù)的流程步驟
- VUE使用localstorage和sessionstorage實(shí)現(xiàn)登錄示例詳解
- vue如何使用cookie、localStorage和sessionStorage進(jìn)行儲(chǔ)存數(shù)據(jù)
- vue使用localStorage保存登錄信息 適用于移動(dòng)端、PC端
- Vue使用localStorage存儲(chǔ)數(shù)據(jù)的方法
- Vue項(xiàng)目使用localStorage+Vuex保存用戶登錄信息
- 詳解vue中l(wèi)ocalStorage的使用方法
- 詳解Vue中l(wèi)ocalstorage和sessionstorage的使用
- vue中的localStorage使用方法詳解
相關(guān)文章
基于Vue3實(shí)現(xiàn)旋轉(zhuǎn)木馬動(dòng)畫效果
這篇文章主要為大家介紹了如何利用Vue3實(shí)現(xiàn)旋轉(zhuǎn)木馬的動(dòng)畫效果,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Vue有一定的幫助,需要的可以參考一下2022-05-05
maptalks+three.js+vue webpack實(shí)現(xiàn)二維地圖上貼三維模型操作
這篇文章主要介紹了maptalks+three.js+vue webpack實(shí)現(xiàn)二維地圖上貼三維模型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Vue組件傳值方式(props屬性,父到子,子到父,兄弟傳值)
這篇文章主要介紹了Vue組件傳值方式(props屬性,父到子,子到父,兄弟傳值),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Vue3響應(yīng)式陷阱之對(duì)象引用丟失導(dǎo)致的數(shù)據(jù)更新失效的解決方法
最近在開發(fā)一個(gè)表單配置功能時(shí),遇到了一個(gè)詭異的 Bug:明明在函數(shù)中成功賦值了,console.log 也打印出了正確的值,但頁面上就是不顯示,經(jīng)過一番排查,發(fā)現(xiàn)這是一個(gè)典型的 Vue 響應(yīng)式陷阱,今天分享出來,希望能幫到遇到類似問題的同學(xué),需要的朋友可以參考下2025-11-11
一步步從Vue3.x源碼上理解ref和reactive的區(qū)別
vue3的數(shù)據(jù)雙向綁定,大家都明白是proxy數(shù)據(jù)代理,但是在定義響應(yīng)式數(shù)據(jù)的時(shí)候,有ref和reactive兩種方式,如果判斷該使用什么方式,是大家一直不很清楚地問題,下面這篇文章主要給大家介紹了關(guān)于從Vue3.x源碼上理解ref和reactive的區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-02-02
VUE 項(xiàng)目在IE11白屏報(bào)錯(cuò) SCRIPT1002: 語法錯(cuò)誤的解決
這篇文章主要介紹了VUE 項(xiàng)目在IE11白屏報(bào)錯(cuò) SCRIPT1002: 語法錯(cuò)誤的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Vue時(shí)間軸 vue-light-timeline的用法說明
這篇文章主要介紹了Vue時(shí)間軸 vue-light-timeline的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10

