vue如何使用cookie、localStorage和sessionStorage进行储存数据

目录
  • 一、cookie的使用
    • 1. 首先加载模块
    • 2. 在使用cookie的页面上进行引入
    • 3. 使用方法
  • 二、localStorage的使用
    • 1. 储存
    • 2. 获取
    • 3. 删除
    • 4. localStorage可以储存JSON对象
    • 5. localStorage.setItem()
    • 6. 用localStorage.setItem()
  • 三、sessionStorage的使用
    • 1. 方法
    • 2. 存储数据
    • 3. 读取数据

一、cookie的使用

1. 首先加载模块

npm i js-cookie -S

2. 在使用cookie的页面上进行引入

import Cookies from 'js-cookie'

3. 使用方法

创建一个在整个网站上有效的Cookie

Cookies.set('name', 'value');

创建一个从现在起7天后过期的cookie,在整个站点上有效:

Cookies.set('name', 'value', { expires: 7 });

创建一个过期的cookie,对当前页面的路径有效:

Cookies.set('name', 'value', { expires: 7, path: '' });

读取cookie:

Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined

阅读所有可见的Cookie:

Cookies.get(); // => { name: 'value' }

删除cookie:

Cookies.remove('name');

删除对当前页面路径有效的cookie:

Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed!

注:

删除cookie时,您必须传递用于设置cookie的完全相同的路径和域属性,除非您依赖于默认属性。

删除未存在的cookie不会引发任何异常,也不会返回任何值

二、localStorage的使用

注:vue下使用localStorage和H5使用localStorage的方法是一致的,不需要引入插件

1. 储存

//数据
localStorage.setItem('userName','HelloWeen');

2. 获取

localStorage.getItem('userName')

3. 删除

localStorage.removeItem('userName');

4. localStorage可以储存JSON对象

且没有时间限制的数据存储 ,除非主动删除。

// 数组
var arr=[1,2,3];
localStorage.setItem("temp",arr); // 会返回1,2,3
console.log(typeof localStorage.getItem("temp"));// string
console.log(localStorage.getItem("temp"));// 1,2,3

5. localStorage.setItem()

不会自动将Json对象转成字符串形式

var user= {"userName": "hello","age": 2};
typeof localStorage.getItem("user");// 也会返回String
localStorage.setItem("user", user);// 但是返回[object Object],

6. 用localStorage.setItem()

正确存储JSON对象方法是:

存储前先用JSON.stringify()方法将json对象转换成字符串形式

JSON.stringify() 方法可以将任意的 JavaScript 值序列化成 JSON 字符串

获取的时候要将之前存储的JSON字符串使用JSON.parse()先转成JSON对象再进行操作

var user= {"userName": "hello","age": 2};
user= JSON.stringify(user); // 转化为JSON字符串  "{"userName":"hello","age":2}"
localStorage.setItem("user", user);// 返回{"userName":"hello","age":2}
user=JSON.parse(localStorage.getItem("user"));

三、sessionStorage的使用

定义和使用

  • localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。
  • sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

注:如果你想在浏览器窗口关闭后还保留数据,可以使用 localStorage 属性, 改数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。

1. 方法

sessionStorage.key(int index) // 返回当前 sessionStorage 对象的第index序号的key名称。若没有返回null。
sessionStorage.getItem(string key) // 返回键名(key)对应的值(value)。若没有返回null。
sessionStorage.setItem(string key, string value) // 该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。
sessionStorage.removeItem(string key) // 将指定的键名(key)从 sessionStorage 对象中移除。
sessionStorage.clear() // 清除 sessionStorage 对象所有的项。

2. 存储数据

2.1 采用setItem()方法存储

sessionStorage.setItem('testKey','这是一个测试的value值'); // 存入一个值

2.2 通过属性方式存储

sessionStorage['testKey'] = '这是一个测试的value值';

2.3 存储Json对象

sessionStorage也可存储Json对象:存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。

var userEntity = {
    name: 'tom',
    age: 22
};
 
// 存储值:将对象转换为Json字符串
sessionStorage.setItem('user', JSON.stringify(userEntity));
 
// 取值时:把获取到的Json字符串转换回对象
var userJsonStr = sessionStorage.getItem('user');
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom

3. 读取数据

3.1 通过getItem()方法取值

sessionStorage.getItem('testKey'); // => 返回testKey对应的值

3.2 通过属性方式取值

sessionStorage['testKey']; // => 这是一个测试的value值

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Vue中localstorage和sessionstorage的使用

    1. 项目使用中暴露出来的几个问题 大家到处直接使用localstorage['aaa']='这是一段示例字符串'这些原生语法实现,这样耦合度太高了,假如有一天我们需要换实现方式,或者对存储大小做一些控制,那么需要修改的代码就会很多 项目很大,那么大家起的key的名字难免会重复,而且这样也会造成全局污染 因为localstorage的使用不规范,所以造成了存储空间的浪费和不够用 2. 解决办法 封装storage的使用方法,统一处理 规范storage的key值的命名规则 规范storage的使

  • vue中LocalStorage与SessionStorage的区别与用法

    目录 什么是LocalStorage 什么是SessionStorage LocalStorage与SessionStorage的区别 LocalStorage与SessionStorage的特点 LocalStorage与SessionStorage的用法 LocalStorage与SessionStorage应用实例 前面把后台的验证机制梳理了一下,主要是Cookie.Session和Token的使用,Django:Cookie设置及跨域问题处理.Django实:Cookie搭配Sessio

  • 解决vue刷新页面以后丢失store的数据问题

    刷新页面时vue实例重新加载,store就会被重置,可以把定义刷新前把store存入本地localStorage.sessionStorage.cookie中,localStorage是永久储存,重新打开页面时会读取上一次打开的页面数据,sessionStorage是储存到关闭为止,cookie不适合存大量数据.根据我的需求,最合适的是sessionStorage. beforeunload在页面刷新时触发,可以监听这个方法,让页面在刷新前存store到sessionStorage中. 当然,在

  • vue如何使用cookie、localStorage和sessionStorage进行储存数据

    目录 一.cookie的使用 1. 首先加载模块 2. 在使用cookie的页面上进行引入 3. 使用方法 二.localStorage的使用 1. 储存 2. 获取 3. 删除 4. localStorage可以储存JSON对象 5. localStorage.setItem() 6. 用localStorage.setItem() 三.sessionStorage的使用 1. 方法 2. 存储数据 3. 读取数据 一.cookie的使用 1. 首先加载模块 npm i js-cookie -

  • vue项目如何监听localStorage或sessionStorage的变化

    出现这个问题的起因:在一个VUE页面中,引入两个组件,A组件实现基础信息展示,B组件展示列表,我要通过A组件的一个按钮触发状态,然后B组件根据A组件触发的状态来做业务处理,首先想到的是把状态放在localStorage,接下去就是在B组件怎么监听A组件状态 解决方法: 1.首先在 main.js 中给 Vue.protorype 注册一个全局方法,然后创建一个 StorageEvent 方法,当我在执行sessionStorage.setItem(k, val) 的时候,初始化事件并派发事件.

  • VUE使用localstorage和sessionstorage实现登录示例详解

    目录 正文 localstroage就是一个加强版的COOKIE. 三者的异同 localStorage和sessionStorage操作 登录实例: Router.js 正文 今天这篇日志记录下做VUE登录的血泪史(VUE2). 当时也不知道是咋想的,就认为php给VUE提供接口,可能session就不起作用了(现在的登录是用SESSION做的). 可是登录需要做呀,用什么存储登录的用户信息呢.最开始我还真想过用COOKIE,但是安全性得不到保证,因为在每次HTTP请求的时候,都会把cooki

  • jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法

    前言:cookie,localStorage和sessionStorage都是浏览器本地存储数据的地方,其用法不尽相同:总结一下基本的用法. 一.cookie 定义: 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽: 可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,存在有效的时间. 注意点: cookie的访问需要服务器环境,直接在本地文件访问无效: cookie的访问和设置需要导入jquery.cookie.js文件: 浏览器对每一个访问的地址下可添加的c

  • 常见的浏览器存储方式(cookie、localStorage、sessionStorage)

    今天我们从前端的角度了解一下浏览器存储,我们常见且常用的存储方式主要由两种:cookie.webStorage(localStorage和sessionStorage).下面我们来一一认识它们. Cookie基于HTTP规范,用来识别用户. Cookie是服务器发送到浏览器的一小段数据,会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上. Cookie诞生之初的作用就是解决HTTP的无状态请求,用来记录一些用户相关的一些状态. •会话状态管理(如用户登录状态.购物车.游戏分数或其它需要

  • JavaScript本地储存:localStorage、sessionStorage、cookie的使用

    javaScript有三种数据存储方式,分别是: sessionStorage localStorage cookier 1. sessionStorage sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除: setItem(key,value) 设置数据 getItem(key) 获取数据 removeItem(key) 移除数据 clear() 清除所有值 <script> // 添加数据 window.sessionStorage.setItem("na

  • ahooks封装cookie localStorage sessionStorage方法

    目录 引言 cookie localStorage/sessionStorage 总结与归纳 引言 本文是深入浅出 ahooks 源码系列文章的第九篇,这个系列的目标主要有以下几点: 加深对 React hooks 的理解. 学习如何抽象自定义 hooks.构建属于自己的 React hooks 工具库. 培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择. 今天来看看 ahooks 是怎么封装 cookie/localStorage/sessionStorage 的. cookie ah

  • JS 中Json字符串+Cookie+localstorage

    目录 1.Json字符串 1.1Json语法 1.2举例 2.Cookie 2.1怎么用? 3.Localstorage 3.1基本使用 3.2案例(记住用户名和密码) 1.Json字符串 Json主要用于前后端交互,是一种数据格式,相较于Xml,使用起来更加便捷 1.1Json语法 可以用来表示:对象.数组.简单数据类型等 {}表示对象 ,[]表示数组 键与值之间用 :隔开,键与键之间用,隔开,属性名必须使用""号 值尽量不要用NaN,属性的最后一位如果没有其他属性,不要留, Jso

随机推荐