【vue】Storage二次封装
文章目录
- 一.storage二次封装代码
- 二.理解
- 1.setItem
- 2.getItem
- 3.clearItem
- 三.使用
一.storage二次封装代码
/*** Storage 二次封装*/
import config from '../config' --> namespace:'manager'export default {// 将内容写入对应的存储空间setItem(key, val) {// 调用获取存储空间let storage = this.getStorage()// 将空间内容存储storage[key] = val// 根据全局的localStorage的缓存空间名,写入序列化的storage数据,将 JavaScript 值转换为 JSON 字符串window.localStorage.setItem(config.namespacce, JSON.stringify(storage))},// 获取存储及空间方法getStorage() {// 获取localStorage的存储空间,数据转换为JavaScript对象,如果没有就设置成对象{}return JSON.parse(window.localStorage.getItem(config.namespace)||"{}")},// 根据key获取对应的存储空间getItem(key) {return this.getStorage()[key]},// 根据key清空localStorage存储空间内容clearItem(key) {let storage = this.getStorage()delete storage[key]window.localStorage.setItem(config.namespacce,JSON.stringify(storage))},// 清空所有localStorage存储空间内容clearAll() {window.localStorage.clear()}
}
二.理解
1.setItem
- 向info中添加height属性:setItem做了什么?:
- 得到一个对象
(1) 由于getItem得到的是一个字符串,所以要使用JSON.stringify将字符串转化成一个对象,赋值给obj - 用对象的方法添加属性
(2)用obj.height=1.89向obj对象中添加height属性 - 将添加属性后的对象放回info中
(3) 由于setItem的key和value都要满足字符串类型,所以使用JSON.parse将obj对象转化成字符串
(4) 使用setItem将"{name:‘abc’,age:23,height:1.89}"加入info
注意:使用JSON.parse,你的字符串必须符合JSON格式,即键值都必须使用双引号包裹
2.getItem
- 根据key获取对应的存储空间:getItem做了什么?:
- 得到一个对象
(1)由于getItem得到的是一个字符串,所以要使用JSON.stringify将字符串转化成一个对象,赋值给obj - 用对象的方法得到value
(2)使用对象的方法:obj.key得到value
3.clearItem
- 根据key清空localStorage存储空间内容:clearItem做了什么?:
- 得到一个对象
(1)由于getItem得到的是一个字符串,所以要使用JSON.stringify将字符串转化成一个对象,赋值给obj - 用对象的方法删除
(2)使用delete obj.age就将obj对象中的age属性清除了(打印obj可以看出已经清除) - 将删除后的对象放回info中
(3)使用setItem将字符串化的obj对象(JSON.stringify(obj))写入info存储空间
(4)使用getItem获取info的内容验证是否已经清空
三.使用
- setItem
this.$storage.setItem('name', 'kobe')
- getItem
console.log("name:",this.$storage.getItem("name"))
- clearItem
this.$storage.clearItem("name")
- clearAll
this.$storage.clearAll()
【vue】Storage二次封装相关推荐
- vue elementui二次封装el-table带插槽
子组件table封装 html部分 <template><divv-loading="loading"><el-tableref="tabl ...
- vue全家桶 ---axios的使用和二次封装
1.前提基础 本文在vue项目搭建的基础上,vue-router路由配置的基础上,对vue项目中axios的使用进行介绍. 2.axios的使用以及拦截器的设置. 安装axios cnpm i axi ...
- Vue二次封装axios为插件使用
照例先贴上 axios 的 gitHub 地址 不管用什么方式获取数据,对于一个项目来说,代码一定要利于维护其次是一定要写的优美,因此加上一层封装是必要的 vuejs2.0 已经不再维护 vue-re ...
- 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm
前言:之前在网上找的好多都是基于vue-cli 2.x的,而使用vue-cli 3的文章比较少,Vue CLI 3 中文文档,所以我在自己尝试的时候把几篇文章结合了一下,调出来了我想要的模式,也就是V ...
- 在vue中使用element-ui二次封装面包屑导条
在vue中使用element-ui二次封装面包屑导条 由于这几天写了一个后台管理系统,多次使用的到了面包屑导航,所以我就把它封装起来使用了: 效果图 第一步 安装element-ui npm i el ...
- Vue——axios的二次封装
文章目录 一.请求和传递参数 1.get 请求 2.post 请求 3.axios 请求配置 二.axios 的二次封装 1.配置拦截器 2.发送请求 三.API 的解耦 1.配置文件对应的请求 2. ...
- axios 超时_聊聊 Vue 中 axios 的封装
axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一 ...
- 原生 Ajax 封装 和 Axios 二次 封装
AJAX 异步的JavaScript与XML技术( Asynchronous JavaScript and XML ) Ajax 不需要任何浏览器插件,能在不更新整个页面的前提下维护数据,但需要用户允 ...
- antd picker 使用 如何_如何基于jsoneditor二次封装一个可实时预览的json编辑器组件?(react版)...
前言 做为一名前端开发人员,掌握vue/react/angular等框架已经是必不可少的技能了,我们都知道,vue或react等MVVM框架提倡组件化开发,这样一方面可以提高组件复用性和可扩展性,另一 ...
最新文章
- 遇到的问题和解决方案
- Coreseek:部门查询和增量索引代替实时索引
- 华为Android9.0谷歌框架,华为Mate9怎样登陆谷歌商店 Mate9如何安装谷歌服务框架【详解】...
- SharePoint中的权限体系
- oracle常用表查询,ORACLE EBS常用表及查询语句(最终整理版)
- CAN总线技术 | 数据链路层04 - CAN节点状态与错误处理机制
- (55)Verilog HDL双沿采样设计
- TypeScript 官方决定全面采用 ESLint
- 最常见的Web服务器市场份额
- mysql安装了老版本_Windows 环境下 MySQL 5.7 安装配置指南
- angularjs -- 页面模板清除
- 【vue】---vue中使用async+await出现的问题及解决方案
- SharePoint 2010的Form认证的用户注册功能
- yum源中repodata目录下的各文件内容及作用-转载
- 单片机c语言视频教程bd,单片机C语言教程五
- LabVIEW编程LabVIEW控制Keithley 2400例程与相关资料
- 刚开始使用push遇到的小问题
- 大漠穷秋:一个写代码的浪人|码云封面人物第 17 期
- jQuery库(1)
- 2022年全球程序员收入报告出炉:国内程序员人均56w年薪。。网友说:我拖后腿了!...
热门文章
- 苹果手机如何只用数据线修改定位
- java 全角_java全角、半角字符的关系以及转换详解
- 《Head First HTML5 javascript》第7章 表单
- 小程序源码:修复登录接口版最新知识付费变现小程序源码下载-独立后台版本
- 复现ReDet RTX 3090 pytorch1.8.1
- OpenCV4学习笔记(57)——基于GrabCut图像分割算法实现背景替换与背景虚化效果
- Java学历很重要_Java开发找工作,学历重要还是技术重要?
- Xcode免证书打包ipa
- 根据离散傅里叶变换对ECG信号进行频谱分析
- 2010中国互联网哈哈榜