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 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
javascript iframe编程相关代码
Dec 28 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
Nov 18 Javascript
jQuery源码分析之jQuery中的循环技巧详解
Sep 06 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
Dec 16 Javascript
jquery实现图片平滑滚动详解
Mar 22 jQuery
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
Vue响应式原理Observer、Dep、Watcher理解
Jun 06 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
jquery实现穿梭框功能
Jan 19 jQuery
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编程中尝试程序并发的几种方式总结
2016/03/21 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
Vue.2.0.5过渡效果使用技巧
2017/03/16 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
vue实现数字滚动效果
2020/06/29 Javascript
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
Python可以实现栈的结构吗
2020/05/27 Python
python中的django是做什么的
2020/07/31 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
Python jieba库分词模式实例用法
2021/01/13 Python
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
信息工程学院毕业生推荐信
2013/11/05 职场文书
机械设计职业生涯规划书
2013/12/27 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
在校生证明
2015/06/17 职场文书
小学毕业感言200字
2015/07/30 职场文书