vue store和localstorage(在Vue 3中使用useStorage轻松实现localStorage功能)
在Vue 3中使用useStorage轻松实现localStorage功能
VueUse 介绍
VueUse文档:Get Started | VueUse
VueUse是基于Vue3的Composition API的实用函数的集合 ,useStorage是其中的一个函数 。我们可以使用useStorage来实现我们的localStorage功能 。
安装
npm i @vueuse/core使用CDN
<script src="https://unpkg.com/@vueuse/shared"></script> <script src="https://unpkg.com/@vueuse/core"></script>useStorage()的用法
useStorage()将要用于引用的键名作为第一个参数传递 ,将要保存的值作为第二个参数传递 。
值的保存 、获取 、删除
localStorage设置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将根据提供的默认值的数据类型智能地使用相应的序列化程序 。例如 ,JSON.stringify/JSON.parse将用于对象 ,Number.toString/parseFloat用于数字等 。 如下:
import { useStorage } from @vueuse/core useStorage( key, {}, undefined, { serializer: { read: (v: any) => v ? JSON.parse(v) : null, write: (v: any) => JSON.stringify(v), }, }, )以上代码 ,我们设置对象的名称为key ,初始值为空对象{},如果存储中没有key的值 ,则返回null 。在写入时,将对象序列化为JSON字符串 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!