教你在Vue3中使用useStorage輕松實現(xiàn)localStorage功能
VueUse 介紹
VueUse文檔:Get Started | VueUse
VueUse是基于Vue3的Composition API的實用函數(shù)的集合,useStorage
是其中的一個函數(shù)。我們可以使用useStorage
來實現(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()
將要用于引用的鍵名作為第一個參數(shù)傳遞,將要保存的值作為第二個參數(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()
只需要一個就可以進行值的保存和獲取,如下,用法:
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()自定義序列化
默認情況下,useStorage
將根據(jù)提供的默認值的數(shù)據(jù)類型智能地使用相應(yīng)的序列化程序。例如,JSON.stringify/JSON.parse
將用于對象,Number.toString/parseFloa
t用于數(shù)字等。 如下:
import { useStorage } from '@vueuse/core' useStorage( 'key', {}, undefined, { serializer: { read: (v: any) => v ? JSON.parse(v) : null, write: (v: any) => JSON.stringify(v), }, }, )
以上代碼,我們設(shè)置對象的名稱為key
,初始值為空對象{}
,如果存儲中沒有key
的值,則返回null。在寫入時,將對象序列化為JSON字符串。
補充知識:Vue_localStorage本地存儲和本地取值解決方法。
Vue本地存儲(3種)
① localStorage(長期存儲)
存:localStorage.setitem('key',data)
取:localStorage.getitem('key')
② sessionStorage(臨時存儲)
存:sessionStorage.setitem('key',data)
取:sessionStorage.getitem('key')
③ cookie(有時效性)
一、共同點:
①都可以存儲,并且存儲只跟域名走、只存儲在當(dāng)前域名下。
二、不同點:
?存儲大小不同
①localStoage/sessionStorage /5M
②cookie /4K 有時效性 如果沒有設(shè)置時間會話關(guān)閉自動失效
③localStorage/不主動刪除,數(shù)據(jù)一直在。
④sessionStorage/在瀏覽器打開期間存在,關(guān)閉當(dāng)前會話即清空(刷新不清除)
sessionStorage和localStorage用法基本一致,引用類型的值需要轉(zhuǎn)換成Json,我這里用localstorage來舉例。
總結(jié)
到此這篇關(guān)于在Vue3中使用useStorage輕松實現(xiàn)localStorage功能的文章就介紹到這了,更多相關(guān)Vue3實現(xiàn)localStorage功能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 在Vue3中使用localStorage保存數(shù)據(jù)的流程步驟
- VUE使用localstorage和sessionstorage實現(xiàn)登錄示例詳解
- vue如何使用cookie、localStorage和sessionStorage進行儲存數(shù)據(jù)
- vue使用localStorage保存登錄信息 適用于移動端、PC端
- Vue使用localStorage存儲數(shù)據(jù)的方法
- Vue項目使用localStorage+Vuex保存用戶登錄信息
- 詳解vue中l(wèi)ocalStorage的使用方法
- 詳解Vue中l(wèi)ocalstorage和sessionstorage的使用
- vue中的localStorage使用方法詳解
相關(guān)文章
Vue與.net?Core?接收List<T>泛型參數(shù)
這篇文章主要介紹了Vue與.net?Core?接收List<T>泛型參數(shù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-04-04element-ui中表格設(shè)置正確的排序及設(shè)置默認排序
表格中有時候會有排序的需求,下面這篇文章主要給大家介紹了關(guān)于element-ui中表格設(shè)置正確的排序及設(shè)置默認排序的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05