vue如何使用cookie、localStorage和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 -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值

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读