H5 localstorage本地缓存数据的封装以及在vue中的使用

H5 localstorage本地缓存数据的封装以及在vue中的使用

vue中常用的 每次增加数据 要缓存
每次删除数据也要缓存

//封装操作localstorage本地存储的方法     模块化的文件


//node.js   基础

var storage = {
	
	set(key,value){
		
		localStorage.setItem(key,JSON.stringify(value));
		
	},
	
	get(key){
		
		return JSON.parse(localStorage.getItem(key));
		
	},
	remove(key){
		localStorage.removeItem(key);
	}
}
//暴露给外部访问
export default storage;

然后某个页面需要本地存储,就需要用 import引入:import storage from ‘./storage.js’

App.vue页面:

<template>

<div id="app"> 

<input type="text" v-model='todo' @keydown="doAdd($event)" />

<hr>
<br>
<h2>进行中</h2>

<ul>

<li v-for="(item,key) in list" v-if="!item.checked"> //添加一个改变的事件
<input type="checkbox" v-model="item.checked" @change="saveList()" /> {{item.title}} -- <button @click="removeData(key)">删除</button>
</li>
</ul>

<br> 
<br>
<h2>已完成</h2>
<ul> 
<li v-for="(item,key) in list" v-if="item.checked">    //添加一个改变的事件
<input type="checkbox" v-model="item.checked" @change="saveList()" /> {{item.title}} -- <button @click="removeData(key)">删除</button>
</li>
</ul>
</div>
</template>

<script>

import storage from './storage.js';

// console.log(storage);

export default { 
data () { 
  return {

    todo:'' ,
    list: []
  }
},
methods:{
  doAdd(e){
    // console.log(e);
    if(e.keyCode==13){
      this.list.push({
        title:this.todo,
        checked:false
      })
      }

  storage.set('list',this.list);   //添加数据要缓存
  },
  removeData(key){
    this.list.splice(key,1)

    storage.set('list',this.list);  //删除数据要缓存
  },
  saveList(){                //change事件

    storage.set('list',this.list);  //要缓存
  }

},

//获取缓存数据

mounted(){ /*生命周期函数 vue页面刷新就会触发的方法*/  mounted 生命周期在载入之后就加载数据

  var list=storage.get('list');

  if(list){ /*注意判断*/ 建议先判断缓存的数据存不存在
    this.list=list;

//或者:this.list=storage.get('list')
  }
}

}
</script>

<style lang="scss">

.finish{

	    li{
	    background:#eee;
	    }
	    }

</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刺心疯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值