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

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

                    每次删除数据也要缓存

 storage.js 文件

然后某个页面需要本地存储,就需要用 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>

原文地址:https://www.cnblogs.com/zyyweb/p/9798667.html

时间: 2024-10-13 00:31:09

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

iOS五种本地缓存数据方式

iOS五种本地缓存数据方式 iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中. 4.coreData:coreData是苹果官

中央缓存结合本地缓存-本地缓存数据刷新方案

互联网应用通常都需要应付大并发量,为了提高QPS,通常会使用中央缓存(例如memcache)和本地缓存的方式.请求先经过本地缓存,如果不命 中,则 请求穿透到中央缓存,如果还是不命中,则会直接查询数据库,并把查询到的数据刷新到中央缓存中.如果采用这种方式的话,必须要解决一个问题,如何刷新本地 缓存的数据. 详细请看我的csdn博客: 中央缓存结合本地缓存-本地缓存数据刷新方案

本地缓存方式

iOS本地缓存数据方式有五种: 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中. 4.coreData:coreData是苹果官方iOS5之后推出的综合型数据库

在Discuz!NT中进行缓存分层(本地缓存+memcached)(转)

在以前的两篇文章(Discuz!NT 缓存设计简析, Discuz!NT中集成Memcached分布式缓存)中,介绍了Discuz!NT中的缓存设计思路以及如何引入Memcached,当然前者是IIS进程的缓存(本地缓存),后者是分布式内存对象缓存系统. 两者通过Discuz!NT中的memcached.config文件中的ApplyMemCached结点的值来决定使用哪一种缓存方式.不过在之后,有朋友反映当使用Memcached时,特别是在大并发来时,效率会打折扣,甚至有很多时间会消耗在soc

基于guava实现本地缓存

今天一个接口响应超时,然后我优化,用到了本地缓存. maven 依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.1-jre</version> </dependency> LocalCache 本地缓存工具类 package com.itbac.common.cache;

h5新增浏览器本地缓存localStorage

h5新增属性学习笔记(非原创) html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁. 因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储. 而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的. 一.web storage和

面localStorage用作数据缓存的简易封装

面localStorage用作数据缓存的简易封装 最近做了一些前端控件的封装,需要用到数据本地存储,开始采用cookie,发现很容易就超过了cookie的容量限制,于是改用localStorage,但localStorage过于简单,没有任何管理和限制,因此封装了下面这个对象. 我的封装非常直观简单,比网上的一些晦涩的代码明显小巧精简实用.目前只自动回收过期或最后一次访问时间到现在的间隔最大的项,以后有时间,再把访问次数纳入到自动回收的算法中. window.MyCache = window.M

本地缓存localstorage使用

最近做项目遇到一个问题,即从“个人中心”点击进入“修改支付宝”,需要自动获取用户手机号怎么做? 修改支付宝的api不提供用户手机号数据,但是发现个人中心提供,于是想通过localstorage在个人中心页面获取到手机号然后保存在本地缓存,进入修改支付宝页面后再获取出来. 经简单查询用法和实验,代码如下: var phoneNumber = data.data.memberInfo.mobile; //将后台数据保存在一个变量中 if( window.locastorage ){ localsto

vue学习如何引入js,封装操作localStorage本地储存的方法

// 封装操作localStorage本地储存的方法 模块化的文件 //nodejs 基础 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 s