vue储存storage时布尔值问题如何解决
Admin 2022-07-18 群英技术资讯 819 次浏览
这篇文章主要介绍“vue储存storage时布尔值问题如何解决”,有一些人在vue储存storage时布尔值问题如何解决的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。今天遇到一个问题,需要将后台返回的true和false存到storage中去,然后用储存的这个值进行逻辑判断,但是一直判断都是错误的,后面查阅了一下资料才发现
在localstorage中储存数据的时候,储存的boolean值都会变成字符串,而不是刚开始储存进去的boolean值

都变成了字符串
那么怎么解决呢?
if (localStorage.getItem('布尔值') == 'true') {
// 重新赋值为新的值
'布尔值' = true
}
或者是在储存的时候,就不要用boolean值进行存储,用数字或者是其他的进行代替,然后判断就是了
// 后台返回的值是true
if (true) {
localStorage.setItem('布尔值', 1)
}else {
localStorage.setItem('布尔值', 2)
}
// 需要用的时候
if (localStorage.getItem('布尔值') == 1) {
// 处理事件
}else {
// 处理事件
}
最近工作中使用localstorage存贮一些共享的变量,结果在存贮布尔值的时候遇到了很多问题;
一般情况下,存取如下:
localstorage.setItem('key', value);//存
localstorage.getItem('key');//取
但是在存储布尔型数据时,由于localstorage中存储的boolean数据都变成了字符串,故"true"=true及"false"==false,“true”==false显示都为false,导致尝试了很多次都没有找到问题所在;
当 localstorage 或 sessionstorage 存储布尔值数据时,取到的数据变成了字符串'true' 'false',建议在存储该类型数据时将 value 设置为 0、1,取值时用Number(localstorage.getItem('key')),再进行后续判断操作;
具体代码如下所示:
存值:
if (this.isChecked) {
//0:checked
localStorage.setItem("checked",0);
} else {
//1:not checked
localStorage.setItem("checked",1);
}
取值:
getFlag:function(){
var flag=Number(localStorage.getItem('checked'));
if(flag==0){
this.flag=true;
}else if(flag==1){
this.flag=false;
}
}
localStorage和sessionStorage都只能存储字符串类型的对象,对于JS中常用的数组或对象却不能直接存储;
可以通过JSON对象提供的parse和stringify将其他数据类型转化成字符串,再存储到storage中就可以了;
代码如下:
存值:
localStorage.setItem("flag_data",JSON.stringify(flagData));
取值:
var flag_data=JSON.parse(localStorage.getItem("flag_data"));
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
input输入框禁止输入空格字符的正则表达式用于防止别人随意乱提交数据,禁止输入空格字符只需要使用js正则表达式即可,无需写任何js函数,如下。 inputtype=textname=userNameonkeyup=this.value=this.value.replace(/\s+/g,) 只需要在input中加入onkeyup=th
今天给大家分享的是关于javascript实现雨滴效果的内容,实现效果如下,有雨滴掉落及最后变成圆的效果,那么这是怎样做的呢?下文有实例供大家参考,接下来跟随小编一起看看吧。
对于发布订阅模式想必大家并不陌生,它在异步交互中具有很大的作用,能够使我们的代码结构更加清晰易读,便于维护。在node中我们可以使用 内置模块event 来实现发布订阅模式,这篇文章我们将深入去学习event并演示它在我们实际开发中的作用,让我们开始吧!
JavaScript跨域请求携带cookie怎样实现的,有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
vue防抖功能怎样实现?首先防抖就是防止重复点击触发事件,对按钮做防抖是很有必要的,防抖功能能够避免用户在较短时间内进行过快点击,从而引发一系列负面的影响。因此,下面就给大家分享一下关于vue实现防抖的方法,供大家参考。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008