vue里localStorage可以直接用吗

在 Vue 项目里能够直接使用 localStorage,因为 localStorage 是浏览器提供的 Web Storage API 的一部分,它独立于 JavaScript 框架,所以可以在 Vue 项目的任何地方使用,包括组件的模板、script 标签内部,无论是 Vue 2 还是 Vue 3 都适用。下面分别介绍在 Vue 2 和 Vue 3 里使用 localStorage 的方法。

在 Vue 2 中使用 localStorage

保存数据到 localStorage

html 复制代码
<template>
  <div>
    <button @click="saveData">保存数据到 localStorage</button>
  </div>
</template>

<script>
export default {
  methods: {
    saveData() {
      const data = { message: '这是要保存的数据' };
      // 将对象转换为 JSON 字符串
      const jsonData = JSON.stringify(data);
      // 保存到 localStorage
      localStorage.setItem('myData', jsonData);
      console.log('数据已保存到 localStorage');
    }
  }
};
</script>

从 localStorage 读取数据

html 复制代码
<template>
  <div>
    <button @click="getData">从 localStorage 读取数据</button>
    <p v-if="data">读取到的数据: {{ data.message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      data: null
    };
  },
  methods: {
    getData() {
      // 从 localStorage 读取数据
      const jsonData = localStorage.getItem('myData');
      if (jsonData) {
        // 将 JSON 字符串转换为对象
        this.data = JSON.parse(jsonData);
        console.log('从 localStorage 读取到数据:', this.data);
      } else {
        console.log('localStorage 中没有找到对应数据');
      }
    }
  }
};
</script>

删除 localStorage 中的数据

html 复制代码
<template>
  <div>
    <button @click="removeData">删除 localStorage 中的数据</button>
  </div>
</template>

<script>
export default {
  methods: {
    removeData() {
      // 删除 localStorage 中的指定数据
      localStorage.removeItem('myData');
      console.log('localStorage 中的数据已删除');
    }
  }
};
</script>

在 Vue 3 中使用 localStorage

保存数据到 localStorage

html 复制代码
<template>
  <div>
    <button @click="saveData">保存数据到 localStorage</button>
  </div>
</template>

<script setup>
import { ref } from 'vue';

const saveData = () => {
  const data = { message: '这是要保存的数据' };
  const jsonData = JSON.stringify(data);
  localStorage.setItem('myData', jsonData);
  console.log('数据已保存到 localStorage');
};
</script>

删除 localStorage 中的数据

html 复制代码
<template>
  <div>
    <button @click="removeData">删除 localStorage 中的数据</button>
  </div>
</template>

<script setup>
const removeData = () => {
  localStorage.removeItem('myData');
  console.log('localStorage 中的数据已删除');
};
</script>

注意事项

localStorage 只能存储字符串类型的数据,所以在保存对象或数组时,需要先使用 JSON.stringify() 方法将其转换为 JSON 字符串,读取时再使用 JSON.parse() 方法将其转换回对象或数组。

localStorage 存储的数据会一直保留在浏览器中,除非手动删除,并且存储大小通常限制在 5MB 左右。

在使用 localStorage 时,要注意数据的安全性,避免存储敏感信息

相关推荐
deli0072 分钟前
地图定位为什么偏了 500 米?GPS 与火星坐标实测
前端
TK泰妞4 分钟前
节日促销前,TikTok 商品视频应该提前准备什么?
前端·人工智能·节日
CCIE-Yasuo15 分钟前
网络安全-学习web开发-列表、标签
前端·学习·web安全
小大宇19 分钟前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
用户114818678948421 分钟前
Nuxt 3 学习版 Demo:跟着做一遍,从跑起来到自己会改
前端
hiahiahia1231 小时前
Streaming Model Output
开发语言·前端
paopaokaka_luck1 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
栀椩1 小时前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron
asaotomo1 小时前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记
前端架构师-老李1 小时前
HTML与CSS基础第五课—HTML的空格、换行、横线相关知识
前端·css·html