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 相关文章推荐
jquery select(列表)的操作(取值/赋值)
Aug 06 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
Aug 18 Javascript
JS循环遍历JSON数据的方法
Jul 08 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
Jan 29 Javascript
JS代码实现根据时间变换页面背景效果
Jun 16 Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 Javascript
微信公众号菜单配置微信小程序实例详解
Mar 31 Javascript
详解webpack进阶之loader篇
Aug 23 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
Nov 14 Javascript
微信小程序中实现手指缩放图片的示例代码
Mar 13 Javascript
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
Vue中的scoped实现原理及穿透方法
May 15 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php中通用的excel导出方法实例
2017/12/30 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
node.js超时timeout详解
2014/11/26 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
python基础教程之分支、循环简单用法
2016/06/16 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
Python MD5加密实例详解
2017/08/02 Python
Python中修改字符串的四种方法
2018/11/02 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
诚实守信道德模范事迹材料
2014/08/15 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
大学教师个人总结
2015/02/10 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
留学推荐信怎么写
2015/03/26 职场文书
死亡诗社观后感
2015/06/05 职场文书
活动新闻稿范文
2015/07/17 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
python在package下继续嵌套一个package
2022/04/14 Python