创建index.js 封装
const STORAGE_KEY = 'mall';
export default {
//存储值
setItem(key,value,module_name){
if (module_name){
let val = this.getItem(module_name);
val[key]=value;
this.setItem(module_name,val);
}else {
let val =this.getStorage();
val[key]=value;
window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
}
},
getItem(key,module_name){
if(module_name){
let val =this.getItem(module_name);
if (val)return val[key];
}
return this.getStorage()[key];
},
getStorage(){
return JSON.parse(window.sessionStorage.getItem(STORAGE_KEY)||'{}');
},
clear(key,module_name){
let val =this.getStorage();
if (module_name){
if(!val[module_name])return;
delete val[module_name][key];
}else {
delete val[key];
}
window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
}
}
使用
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
//导入index.js
import storage from './storage/index'
export default {
name: 'App',
components: {
},
data(){
return{
}
},
mounted() {
//使用
storage.setItem("a",{a:1});
}
}
</script>
可以在浏览器看效果