详解Vue中localstorage和sessionstorage的使用

yizhihongxing

详解Vue中localStorage和sessionStorage的使用

简介

对于一些 Vue.js 开发者来说,localStoragesessionStorage 是存储数据的不错选择,本文将详细介绍这两个 API 的使用,同时说明如何在 Vue.js 组件中使用它们。

localStorage

localStorage 是 Web Storage API 中的一种,提供了一个非常方便的用来存储键值对数据的方式,数据存储在浏览器的本地(客户端)中。

设置值

可以通过使用 setItem() 方法来存储数据。例如,以下代码将一个键值对存储为字符串:

localStorage.setItem('key', 'value');

获取值

可以通过使用 getItem() 方法来获取值。例如,以下代码将输出 'value'

const value = localStorage.getItem('key');
console.log(value); // 输出 'value'

删除值

可以通过使用 removeItem() 方法来删除键值对。例如,以下代码将删除键是 'key' 的值:

localStorage.removeItem('key');

实际示例

以下代码演示如何在 Vue 组件中使用 localStorage

<template>
  <div>
    <input v-model="name" placeholder="请输入姓名" />
    <button @click="saveNameToLocalStorage">保存</button>
    <div>{{ message }}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      name: "",
      message: "",
    };
  },
  methods: {
    saveNameToLocalStorage() {
      localStorage.setItem("name", this.name);
      this.message = "已保存至 localStorage 中";
    },
    loadNameFromLocalStorage() {
      const savedName = localStorage.getItem("name");
      if (savedName) {
        this.message = `您之前保存的名字是 ${savedName}`;
      } else {
        this.message = "LocalStorage 中未保存您的名字";
      }
    },
  },
  mounted() {
    this.loadNameFromLocalStorage();
  },
};
</script>

sessionStorage

sessionStorage 的工作方式与 localStorage 类似,它是一种存储在浏览器(客户端)中的短暂数据存储方式,当用户关闭浏览器窗口时,数据将被删除。

设置值

可以通过使用 sessionStorage.setItem() 方法来存储数据。以下代码将一个键值对存储为字符串:

sessionStorage.setItem('key', 'value');

获取值

可以通过使用 sessionStorage.getItem() 方法来获取值。以下代码将输出 'value'

const value = sessionStorage.getItem('key');
console.log(value); // 输出 'value'

删除值

可以通过使用 sessionStorage.removeItem() 方法来删除键值对,以下代码将删除键是 'key' 的值:

sessionStorage.removeItem('key');

实际示例

以下代码演示如何在 Vue 组件中使用 sessionStorage

<template>
  <div>
    <input v-model="name" placeholder="请输入姓名" />
    <button @click="saveNameToSessionStorage">保存</button>
    <div>{{ message }}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      name: "",
      message: "",
    };
  },
  methods: {
    saveNameToSessionStorage() {
      sessionStorage.setItem("name", this.name);
      this.message = "已保存至 sessionStorage 中";
    },
    loadNameFromSessionStorage() {
      const savedName = sessionStorage.getItem("name");
      if (savedName) {
        this.message = `您之前保存的名字是 ${savedName}`;
      } else {
        this.message = "sessionStorage 中未保存您的名字";
      }
    },
  },
  mounted() {
    this.loadNameFromSessionStorage();
  },
};
</script>

总结

本文详细介绍了 localStoragesessionStorage 的用法。使用它们可以避免向后端频繁发送请求,提高了用户体验。在实际开发中,这两种存储方式也是存储瞬时信息的最佳选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Vue中localstorage和sessionstorage的使用 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue-test-utils初使用详解

    Vue Test Utils初使用详解 Vue Test Utils是Vue.js官方提供的用于单元测试Vue.js组件的工具库。它提供的API可以让我们在测试组件时模拟真实的DOM操作和用户交互,并且能够很好地集成到常见的JavaScript测试工具中。本文将详细讲解Vue Test Utils的初步使用,希望能够帮助你更好地编写Vue.js组件的单元测试…

    Vue 2023年5月28日
    00
  • 关于Node.js中的JXcore打包示例

    下面就来详细讲解“关于Node.js中的JXcore打包示例”的完整攻略。 Node.js中的JXcore打包示例 简介 JXcore是一种基于Node.js的开源项目,主要用于将Node.js项目转化为独立的应用程序,支持Node.js的所有模块和API。使用JXcore可以将原本需要使用Node.js命令行执行的代码打包成二进制文件,方便部署和使用。 安…

    Vue 2023年5月28日
    00
  • vue实现时间倒计时功能

    以下是“vue实现时间倒计时功能”的完整攻略,希望能对您有所帮助。 基本思路 Vue 实现时间倒计时功能的基本思路是:获取倒计时的起始时间和结束时间,然后通过 setInterval 函数计算时间差并更新视图上的倒计时剩余时间。 具体步骤 1.在Vue组件中定义起始时间和结束时间。 data() { return { startTime: new Date(…

    Vue 2023年5月28日
    00
  • 理理Vue细节(推荐)

    理理Vue细节(推荐)攻略 为什么要学习Vue细节? Vue是现在流行的前端框架之一,Vue的易用性和灵活性深受前端开发者的喜爱。但是在使用Vue时,我们有时会遇到一些细节问题。这些细节问题对我们开发的影响很大,如果我们不能正确地解决这些问题,会导致代码出现Bug或性能问题,甚至是安全问题。因此,理解Vue的细节问题是非常必要的。 Vue细节攻略 1. v-…

    Vue 2023年5月27日
    00
  • vue3自定义hooks/可组合函数方式

    下面详细讲解一下vue3的自定义hooks/可组合函数的完整攻略。 什么是Vue3的自定义Hooks/可组合函数? Vue3中的自定义Hooks/可组合函数是封装了可重用逻辑的函数。它们可以用于组件之间共享逻辑,这可以帮助我们更好地组织我们的代码,并使我们的应用程序更具可维护性。 Vue3的自定义Hooks/可组合函数使用与Vue2的自定义插件(Custom…

    Vue 2023年5月28日
    00
  • uniapp和vue的区别详解

    一、什么是uniapp和vue? Uniapp是一个基于Vue框架开发的、可同时发布到多个平台的前端框架。它由DCloud团队开发,并已获得多个开发者的认可和支持。Uniapp可发布到微信小程序、App、H5等多个平台,具备一定的跨平台能力。 Vue.js是一个渐进式JavaScript框架,以响应式和MVVM模式为核心,通过简洁的语法和丰富的组件系统,帮助…

    Vue 2023年5月27日
    00
  • vue项目中自动导入svg并愉快的使用方式

    Vue项目中自动导入SVG并愉快的使用方式的攻略需要涉及到以下几个步骤: 1. 安装相关依赖 svg-sprite-loader:用于对SVG进行打包处理,将SVG图标精灵化。 svgo-loader:对SVG进行压缩和优化,减少SVG的文件大小。 npm install svg-sprite-loader svgo-loader -D 2. 配置webpa…

    Vue 2023年5月28日
    00
  • vue学习之Vue-Router用法实例分析

    Vue-Router 是 Vue.js 官方的路由插件,它和 Vue.js 具有相同的核心思想,即都是将 UI 和行为抽象成组件的形式,且都支持通过 props 向子组件传递数据。 Vue-Router 可以让我们通过 URL 和组件的映射关系来实现页面的跳转和切换,同时还支持路由的嵌套、命名视图、多种路由参数传递方式等功能,非常强大和灵活。 下面我们来分析…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部