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

 更新时间:2022年08月03日 10:57:04   作者:树洞菇凉  
这篇文章主要介绍了vue如何使用cookie、localStorage和sessionStorage进行储存数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、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值

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

相关文章

  • Vue中使用matomo进行访问流量统计的实现

    Vue中使用matomo进行访问流量统计的实现

    这篇文章主要介绍了Vue中使用matomo进行访问流量统计的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • vue-router重定向和路由别名的使用讲解

    vue-router重定向和路由别名的使用讲解

    今天小编就为大家分享一篇关于vue-router重定向和路由别名的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • vue.js实现标签页切换效果

    vue.js实现标签页切换效果

    这篇文章主要介绍了vue.js实现标签页切换效果,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)

    Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)

    这篇文章主要给大家介绍了关于Vue组件间通信的相关资料,其中包括父子组件、兄弟组件及祖先后代组件间的通信,文中通过示例代码介绍的非常详细,对大家学习或者使用Vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 详解Vue.js自定义tipOnce指令用法实例

    详解Vue.js自定义tipOnce指令用法实例

    这篇文章主要介绍了详解Vue.js自定义tipOnce指令用法实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Vue中组件(Component)和插件(Plugin)的区别及说明

    Vue中组件(Component)和插件(Plugin)的区别及说明

    这篇文章主要介绍了Vue中组件(Component)和插件(Plugin)的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • VUE-cli3使用 svg-sprite-loader

    VUE-cli3使用 svg-sprite-loader

    svg-sprite-loader 的插件,用来根据导入的 svg 文件自动生成 symbol 标签并插入 html,这篇文章主要介绍了VUE-cli3使用 svg-sprite-loader,需要的朋友可以参考下
    2018-10-10
  • vue3插槽:el-table表头插入tooltip及更换表格背景色方式

    vue3插槽:el-table表头插入tooltip及更换表格背景色方式

    这篇文章主要介绍了vue3插槽:el-table表头插入tooltip及更换表格背景色方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue如何实现pc和移动端布局详细代码

    vue如何实现pc和移动端布局详细代码

    这篇文章主要给大家介绍了关于vue如何实现pc和移动端布局的相关资料, Vue响应式布局适配是一种根据设备特性自动调整布局的方法,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • vue实现移动端适方案的完整步骤

    vue实现移动端适方案的完整步骤

    现在的手机五花八门,造就了移动端窗口分辨率繁多的局面,在不同分辨率的屏幕下保持与UI图一致的效果,就成了让前端不得不头疼的问题,下面这篇文章主要给大家介绍了vue实现移动端适方案的相关资料,需要的朋友可以参考下
    2022-10-10

最新评论