个人练习----Vue 封装操作localstorage 本地存储的方法【如有不对,欢迎指正】
2019-05-11 17:37
435 查看
// 封装操作localstorage 本地存储的方法,这是模块化的文件, var storage = { set(key,value){ // 调用这个方法时候传入一个 key 和 value // 将传入的 value 转换成JSON 字符串 localStorage.setItem(key,JSON.stringify(value)) }, get(key){ // get 方法 直接传入 key 就行 // 反序列化,将 JSON 字符串转换成 JSON 对象 return JSON.parse(localStorage.getItem(key)) }, remove(){ // 删除 localStorage.removeItem(key) } } export default storage // 将 storage 暴露出去
然后在组件中引用
import storage from './model/storage.js'
然后在组件中使用
storage.set('list',this.list); storage.get('list')
代码
<template> <div id="app"> <div> <input type="text" name="" id="" v-model="todo"> <button @click="add()">增加</button> <h2>进行中</h2> <ul> <li v-for="(item, key) in list" :key="key" v-if="!item.checked"> <input type="checkbox" name="" id="" v-model="item.checked" @change="add2()"> {{ item.title }}<button @click="removeData(key)">删除</button> </li> </ul> <h2>已完成</h2> <ul> <li v-for="(item, key) in list" :key="key" v-if="item.checked"> <input type="checkbox" name="" id="" v-model="item.checked" @change="add2()"> {{ item.title }}<button @click="removeData(key)">删除</button> </li> </ul> </div> </div> </template> <script> import storage from './model/storage.js'export default { data(){ return{ todo:'', list:[ {title:'进行中',checked:true}, {title:'已完成',checked:false} ] } }, methods:{ add(){ this.list.push({ title:this.todo, checked:false }); this.todo = ''; //localStorage.setItem('key',JSON.stringify(this.list)); storage.set('list',this.list) }, removeData(key){ this.list.splice(key,1); //localStorage.setItem('key',JSON.stringify(this.list)); storage.set('list',this.list) }, add2(){ //localStorage.setItem('key',JSON.stringify(this.list)); storage.set('list',this.list) } }, mounted() { //var list = JSON.parse(localStorage.getItem('key')); var list = storage.get('list'); if (list) { this.list = list } //console.log(this.list) }, } </script>
相关文章推荐
- 个人练习----Vue中使用axios请求数据【如有不对,欢迎指正】
- vue学习如何引入js,封装操作localStorage本地储存的方法
- 对象/类,函数/方法 的区分(仅代表个人观点,如有偏差欢迎指正)
- vue之浏览器存储方法封装
- 各种猥琐的Java笔试/面试题目的答案(这是我自己测试得出的答案,如有不对的欢迎批评指正)
- 在vue中更换字体,本地存储字体非引用在线字体库的方法
- 简单封装本地存储的方法
- 将本地项目放到Github上(应该可以这么说)[如有错误欢迎大家批评指正]
- vue之浏览器存储方法封装实例
- 自加自减运算符的错误使用和理解【个人学习笔记,如有错误欢迎指正】
- vue开发请求本地模拟数据的配置方法
- vue-cli2.x项目优化之引入本地静态库文件的方法
- 个人练习代码库/SQLite数据库存储
- POI合并单元格边框显示问题,笨方法解决。如有更好的方法,欢迎留言,求指教告知
- cocos2d-js基础 本地数据存储 碰撞检测几种方法
- 爬坑之路-----Vue 方法的封装 + axios异步回调获取数据
- vue封装第三方插件并发布到npm的方法
- 关于apicloud开发中对vue和ajax方法的封装
- 封装保存、下载图片到本地的方法记录
- vue2.0项目中的函数封装和引用。演示通过封装jsonp方法获取QQ音乐数据。