美文网首页
localStorage的值为Boolean类型时遇到的问题

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

作者: 小小鱼yyds | 来源:发表于2020-12-15 16:26 被阅读0次

不管存储时,localStorage.setItem()存的是字符串还是布尔值,取出来的时候都自动被转换成了字符串,这就造成在对boolen类型做判断时,出现bug的情况。
所以我在utils公共js里面写了一个方法,只要每次取数据时调用这个方法,就可以取出你想要的字符串,布尔,或者对象类型。

//  utils.js
  getLocalStorage(name, type) {
    let data = localStorage.getItem(name)
    if (type === 'number') {
      return Number(data)
    }
    if (type === 'boolen') {
      if (data === 'false') {
        data = false
      } else {
        data = true
      }
      return data
    }
    if(type === 'object'){
      data = JSON.parse(data)
      return data
    }
    return data
  }

用的时候:

this.isLogin = this.$utils.getLocalStorage("isLogin ", "boolen");
this.giftIndex = this.$utils.getLocalStorage("index", "number");
this.userInfo= this.$utils.getLocalStorage("userInfo", "object");

console.log("打印----", typeof this.isLogin , typeof this.giftIndex);   // boolean number

相关文章

网友评论

      本文标题:localStorage的值为Boolean类型时遇到的问题

      本文链接:https://www.haomeiwen.com/subject/cjuwgktx.html