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 相关文章推荐
将查询条件的input、select清空
Jan 14 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
Jan 09 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
不能不知道的10个angularjs英文学习网站
Mar 23 Javascript
JavaScript 基础函数_深入剖析变量和作用域
May 18 Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 Javascript
VUE axios上传图片到七牛的实例代码
Jul 28 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
浅谈mvvm-simple双向绑定简单实现
Apr 18 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
JavaScript面向对象核心知识与概念归纳整理
May 09 Javascript
JavaScript使用canvas绘制坐标和线
Apr 28 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 checkbox 取值详细说明
2010/08/19 PHP
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
PHP安全性漫谈
2012/06/28 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
AngularJS基础知识
2014/12/21 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
js弹出窗口简单实现代码
2017/03/22 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
python二分法实现实例
2013/11/21 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
详解Python if-elif-else知识点
2018/06/11 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python中property和setter装饰器用法
2019/12/19 Python
Python&&GDAL实现NDVI的计算方式
2020/01/09 Python
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
创先争优活动方案
2014/02/12 职场文书
远程培训的心得体会
2014/09/01 职场文书
地方白酒代理协议书
2014/10/25 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
小学思品教学反思
2016/02/20 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python