设置localStorage的值为Boolean类型时遇到的小问题

这两天在改之前项目的代码时遇到一个问题,之前的项目中写入了一条配置localStorage.setItem("IsUser",false),本意是想说明不是用户,即false为Boolean类型,但实际上在取出使用时发现,这个false会是一个String类型,坑了我将近1小时去找bug。现记录一下,希望对大家有帮助!

 

转载于:https://www.cnblogs.com/mefelixwang/p/8056991.html

在Vue3中,设置localStorage存储间通常需要手动计算过期间,并在存储数据将其作为一个属性保存起来。以下是一个简单的示例来说明如何设置localStorage存储间为10天: 首先,你需要获取当前间,然后加上10天的间间隔,得到一个过期间点。之后,将当前间以及过期间点都转换成间戳格式。存储数据,将原始数据和这两个间戳都保存到localStorage中。当需要检查数据是否过期,可以从localStorage中读取这些间戳并与当前间进行比较。 ```javascript import { ref } from 'vue'; // 设置localStorage存储间为10天 function setLocalStorageWithExpiry(key, value) { const now = new Date(); const expiryDate = new Date(now.getTime() + 10 * 24 * 60 * 60 * 1000); // 10天后的间 const item = { value: value, expiry: expiryDate.getTime(), time: now.getTime() }; localStorage.setItem(key, JSON.stringify(item)); } // 获取localStorage数据,并检查是否过期 function getLocalStorage(key) { const itemStr = localStorage.getItem(key); const item = JSON.parse(itemStr); const now = new Date(); // 检查是否过期 if (now.getTime() > item.expiry) { // 数据已过期,可以删除它 localStorage.removeItem(key); return null; } else { // 数据未过期,返回原始 return item.value; } } // 使用setLocalStorageWithExpiry和getLocalStorage设置和获取带过期间的localStorage数据。 ``` 请注意,在实际应用中,你可能需要根据实际情况调整上述示例代码,例如处理存储对象、数组等复杂数据类型的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值