You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vue中将hashmap类型数据正确存储到localStorage

问题根因

localStorage 仅支持存储字符串类型数据,直接存入HashMap/对象类型时,会自动调用对象的toString()方法,最终存储的是[object Object]这类无意义的字符串,无法保留原有数据结构。

解决方法

存储数据时用JSON.stringify()将对象序列化为字符串,读取数据时用JSON.parse()将字符串反序列化为对象即可。

修正后代码

JS逻辑部分

...
  data() {
    return {
      // 初始化时保证summaries为对象类型
      summaries: {}
    }
  },
  mounted() {
    if (localStorage.summaries) {
      // 读取时反序列化,加异常捕获避免非法格式导致页面报错
      try {
        this.summaries = JSON.parse(localStorage.summaries);
      } catch(err) {
        console.warn('本地存储的summaries格式异常,已重置', err)
        this.summaries = {}
        localStorage.removeItem('summaries')
      }
    }
  },
  ...
  deleteRow(symbol) {
    delete this.summaries[symbol]
    // 存储时序列化
    localStorage.summaries = JSON.stringify(this.summaries)
  },
...

原有HTML逻辑无需修改,可正常使用。

内容的提问来源于stack exchange,提问作者jginso7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:39:03