今天遇到一个问题,需要将后台返回的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 {
// 处理事件
}