vue中,在本地缓存中读写数据的方法


Posted in Javascript onSeptember 21, 2018

1.安装good-storage插件

cnpm i good-storage --save

2.读/写的方法

common/js/cache.js:

import storage from 'good-storage'

const SEARCH_KEY = '__search__'
const SEARCH_MAX_LENGTH = 15

// compare:findindex传入的是function,所以不能直接传val
function insertArray(arr, val, compare, maxLen) {
 const index = arr.findIndex(compare)
 if (index === 0) {
 return
 }
 if (index > 0) {
 arr.splice(index, 1)
 }
 arr.unshift(val) // 插入到数组最前
 if (maxLen && arr.length > maxLen) {
 arr.pop() // 删除末位元素
 }
}

// 存储搜索历史
export function saveSearch(query) {
 let searches = storage.get(SEARCH_KEY, [])
 insertArray(searches, query, (item) => {
 return item === query
 }, SEARCH_MAX_LENGTH)
 storage.set(SEARCH_KEY, searches)
 return searches
}
// 加载本地缓存的搜索历史
export function loadSearch() {
 return storage.get(SEARCH_KEY, [])
}

3.数据用vuex传递

在store/actions.js中写入数据:

import * as types from './mutation-types'
import {saveSearch} from 'common/js/cache'

export const saveSearchHistory = function({commit, state}, query) {
 commit(types.SET_SEARCH_HISTORY, saveSearch(query))
}

4.组件中调用vuex

import {mapActions} from 'vuex'

// methods内:
 saveSearch() {
  this.saveSearchHistory(this.query)
 },
 ...mapActions([
  'saveSearchHistory'
 ])

以上这篇vue中,在本地缓存中读写数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
深入理解javascript动态插入技术
Nov 12 Javascript
jQuery中parentsUntil()方法用法实例
Jan 07 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
Jan 23 Javascript
理解javascript异步编程
Jan 27 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
Dec 05 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
Oct 27 Javascript
微信小程序解除10个请求并发限制
Dec 18 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
echarts大屏字体自适应的方法步骤
Jul 12 Javascript
微信小程序webview 脚手架使用详解
Jul 22 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
Sep 21 #Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 #Javascript
JavaScript 2018 中即将迎来的新功能
Sep 21 #Javascript
vue 弹框产生的滚动穿透问题的解决
Sep 21 #Javascript
vue-quill-editor富文本编辑器简单使用方法
Sep 21 #Javascript
探秘vue-rx 2.0(推荐)
Sep 21 #Javascript
Vue-Quill-Editor富文本编辑器的使用教程
Sep 21 #Javascript
You might like
基于php验证码函数的使用示例
2013/05/03 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
分析Python读取文件时的路径问题
2018/02/11 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
技术经理的自我评价范文
2013/12/03 职场文书
项目合作协议书
2014/09/23 职场文书
工作岗位职责范本
2015/02/15 职场文书
法律意见书范文
2015/06/04 职场文书
我爱我班主题班会
2015/08/13 职场文书
党员读书活动心得体会
2016/01/14 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技