7.模块化封装Storage实现缓存数据持久化

2023-05-16

1.模块化封装Storage实现缓存数据持久化

1.在src目录下新建目录model,在model目录下新建js文件取名storage.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;  

2.在App.vue中引用:


<template>
  <div id="app">
    <!-- 监听键盘事件 -->
    <input type="text" v-model="todo" @keydown="AddText($event)">
    
    <br>
    <hr>

    <h2>未完成</h2>
    <ul>
      <li v-for="(item,index) in list" :key="index">
        <div v-if="!item.checkbox">
          <input type="checkbox" v-model="item.checkbox" @change="saveList()"> {{item.title}}---<button @click="RemoveText(index)">删除</button>
        </div>
      </li>
    </ul>
    <h2>已完成</h2>
    <ul>
      <li v-for="(item,index) in list" :key="index" class="finish">
        <div v-if="item.checkbox">
          <input type="checkbox" v-model="item.checkbox" @change="saveList()"> {{item.title}}---<button @click="RemoveText(index)">删除</button>
        </div>
      </li>
    </ul>
  
  </div>
</template>
<script>
// 引入模块
import storage from './model/storage.js';
export default {
  name: 'app',
  data () {
    return { 
      todo:'',
      list:[],
    }
  },
  methods:{
    AddText(e){
      if(e.keyCode==13){
        this.list.push({title:this.todo,checkbox:false})
        this.todo=''
      }
      // 设置为本地缓存
      storage.set('list',this.list);    
    },
    RemoveText(key){
      this.list.splice(key,1)
      storage.set('list',this.list);
    },
    saveList(){
      storage.set('list',this.list);
    }
  },
  mounted(){
    // 生命周期函数,vue页面刷新时触发
    // 读取本地缓存
    var list=storage.get('list');
    if(list){
      this.list=list
    }

  }

}
</script>
<style>
ul li{
list-style-type:none;
}
.finish{
 background-color: #eee
}
</style>  

 

转载于:https://www.cnblogs.com/xuepangzi/p/11605583.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

7.模块化封装Storage实现缓存数据持久化 的相关文章

随机推荐

  • __FILE__,__LINE__,__DATE__,__TIME__ c++常用的预定义名字

    C 43 43 有四个常用的预定义名字 xff0c 分别为 FILE LINE DATE TIME FILE 记录文件的路径加名称 LINE 记录文件已经被编译的行数 DATE 记录文件的编译日期 TIME 记录文件的编译时间 可以当作变量
  • 串口拓展

    今天桌子下面找出一个破电路板看到一颗芯片GM8125 xff0c 这个芯片主要功能就是拓展串口 GM8125可以将一个全双工的标准串口扩展成5个标准串口 xff0c 并能通过外部引脚控制串口扩展模式 xff1a 单通道工作模式和多通道工作模
  • HttpUtils

    package com rs zero crc common http import com rs zero crc modulars common constants SysConstantConf import com xiaoleil
  • 【转】C语言中的位域、字节序、比特序、大小端

    1 比特序 位序 bit numbering bit endianness 我们知道一个字节有8位 xff0c 也就是8个比特位 从第0位到第7位共8位 比特序就是用来描述比特位在字节中的存放顺序的 通过阅读网页http en wikipe
  • 位定义方法定义寄存器

    寄存器 位域 定义的语法格式 xff1a Struct 位域结构名 类型说明符 位域名1 xff1a 位域长度 类型说明符 位域名2 xff1a 位域长度 类型说明符 位域名n xff1a 位于长度 从右到左申明的 位域的申明不能横跨两个字
  • Qt 模拟一个导航定位系统

    版权声明 xff1a 本文为博主原创文章 xff0c 遵循 CC 4 0 BY SA 版权协议 xff0c 转载请附上原文出处链接和本声明 本文链接 xff1a https www cnblogs com lihuidashen p 115
  • RESTful Api 身份认证中的安全性设计探讨

    REST 是一种软件架构风格 RESTful Api 是基于 HTTP 协议的 Api xff0c 是无状态传输 它的核心是将所有的 Api 都理解为一个网络资源 将所有的客户端和服务器的状态转移 xff08 动作 xff09 封装到 HT
  • 在STM32 MDK实现类似__attribute__((__packed__))效果

    attribute 是GNU C对标准C语法的扩展 xff0c 是GNU C的一大特色 xff0c 可以用于设置函数的属性 xff0c 变量的属性 xff0c 类型的属性 在STM32 MDK实现类似效果 xff1b 实验数据如下 xff1
  • 那些年搞不懂的多线程、同步异步及阻塞和非阻塞(一)---多线程简介

    1 进程和线程的概念 进程 xff1a 运行中的应用程序称为进程 xff0c 拥有系统资源 xff08 cpu 内存 xff09 线程 xff1a 进程中的一段代码 xff0c 一个进程中可以有多段代码 本身不拥有资源 xff08 共享所在
  • python爬虫登录保持及对http总结

    前言 这几天一直看python爬虫登录保持 实现接口太多 xff0c 太乱 xff0c 新手难免云山雾罩 各种get post xff0c 深入理解一下 xff0c 其实就是由于http的特性需要这些操作 http是一种无状态 不保存上次通
  • ROS CAN总线设备接入(一)Linux动态库的显式调用

    前提 xff1a xff08 1 xff09 xff0c 如果在libpcan安装正常的话 xff0c 那么可以用以下命令查找到libpcan so ls usr lib libpcan 查找到方可进行api载入 xff08 2 xff09
  • SQL Server 2012企业版和标准版的区别

    关于使用Microsoft SQL Server 数据库的公司一般会有疑问 xff0c 企业版数据库和标准版数据库的区别在哪 xff1f 如果采购企业版的价格和标准版的价格相差很大 xff0c 从多方资料查询发现 xff0c 我认为最主要的
  • 查询SQL SERVER 数据库版本号脚本语句

    数据库直接执行此语句即可 select 64 64 version 示例 xff1a Microsoft SQL Server 2014 12 0 2000 8 X64 Feb 20 2014 20 04 26 Copyright c Mi
  • SQL SERVER 还原误操作导致还原无法停止,处理办法

    昨天遇到运行库不知道单位哪个小伙子 xff0c 把数据库还原了 xff0c 导致单位业务全部瘫痪 xff0c 主数据库一直显示正在还原 xff0c 真的是不敢动 xff0c 经过多方寻找 xff0c 找到此脚本 数据库还原日志 xff0c
  • Docker安装及部署实例.Net Core

    1 什么是Docker Docker 是一个开源的应用容器引擎 xff0c 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 xff0c 然后发布到任何流行的 Linux 机器上 xff0c 也可以实现虚拟化 容器是完全使用沙箱机制
  • 将html格式的内容转换成纯文本格式

    最近做的一个东东 xff0c 想要去除掉保存的字符串内容的所有html格式 xff0c 也就是只取纯文本 xff0c 从网上查了些相关资料 xff0c 以及正则表达式的用法 xff0c 有一个方法向大家推荐 xff0c 基本去除了我想要去除
  • 待解决:PDF header signature not found

    转载于 https www cnblogs com ITGirl00 p 3531475 html
  • 从统计学看线性回归(2)——一元线性回归方程的显著性检验

    目 录 1 2 的估计 2 回归方程的显著性检验 t 检验 xff08 回归系数的检验 xff09 F 检验 xff08 回归方程的检验 xff09 相关系数的显著性检验 样本决定系数 三种检验的关系 一 2 的估计 因为假设检验以及构造与
  • TypeError: unsupported operand type(s) for +: 'float' and 'decimal.Decimal'

    TypeError unsupported operand type s for 43 39 float 39 and 39 decimal Decimal 39 浮点型和双精度类型 相加报错 from decimal import Dec
  • 7.模块化封装Storage实现缓存数据持久化

    1 模块化封装Storage实现缓存数据持久化 1 在src目录下新建目录model xff0c 在model目录下新建js文件取名storage js var storage 61 set key value 设置为本地缓存方法 loca