Vue中封装localStorage和sessionStorage方法
首先说下localStorage和sessionStorage方法的区别:1.localStorage 方法存储的数据没有时间限制。2.sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。封装步骤如下:1.在src/assets文件下创建一个js文件夹,在js文件夹中创建一个local.js代码如下:// local操作co...
·
首先说下localStorage和sessionStorage方法的区别:
1.localStorage 方法存储的数据没有时间限制。
2.sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
封装步骤如下:
1.在src/assets文件下创建一个js文件夹,在js文件夹中创建一个local.js
代码如下:
// local操作
const localData = function (method, name, obj) {
/*
* 参数说明:
* method:get获取,set存入或覆盖,clean清除
* name:localStorage的名称
* obj:存入的内容,可以是任意类型
* localStorage.getItem(key):获取指定key本地存储的值
* localStorage.setItem(key,value):将value存储到key字段
* localStorage.removeItem(key):删除指定key本地存储的值
* */
switch (method) {
case 'get':
if (localStorage.getItem(name + '_obj')) {
return JSON.parse(localStorage.getItem(name + '_obj'));
} else if (localStorage.getItem(name + '_str')) {
return localStorage.getItem(name + '_str');
} else {
return null
}
case 'set':
localData('clean', name);
if (typeof obj == 'object') {
localStorage.setItem(name + '_obj', JSON.stringify(obj));
} else {
localStorage.setItem(name + '_str', obj);
}
return true;
case 'clean':
localStorage.removeItem(name + '_obj');
localStorage.removeItem(name + '_str');
return true;
}
};
// session操作
const sessionData = function (method, name, obj) {
/*
* 参数说明:
* method:get获取,set存入或覆盖,clean清除
* name:session的名称
* obj:存入的内容,可以是任意类型
* */
switch (method) {
case 'get':
if (sessionStorage.getItem(name + '_obj')) {
return JSON.parse(sessionStorage.getItem(name + '_obj'));
} else if (sessionStorage.getItem(name + '_str')) {
return sessionStorage.getItem(name + '_str');
} else {
return null
}
case 'set':
sessionData('clean', name);
if (typeof obj == 'object') {
sessionStorage.setItem(name + '_obj', JSON.stringify(obj));
} else {
sessionStorage.setItem(name + '_str', obj);
}
return true;
case 'clean':
sessionStorage.removeItem(name + '_obj');
sessionStorage.removeItem(name + '_str');
return true;
}
};
export {localData, sessionData}
2.在main.js中引入localData, sessionData两个封装好的方法.
import {localData, sessionData} from "../src/assets/js/local"
Vue.prototype.localData = localData;
Vue.prototype.sessionData=sessionData;
3.在组件中使用的方法
this.localData("方法","名字",数据); //使用localStorage进行数据处理
this.sessionData("方法","名字",数据); //使用sessionStorage进行数据处理
更多推荐
已为社区贡献3条内容
所有评论(0)