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的无缝循环新闻列表插件
Mar 07 Javascript
jquery实现盒子下拉效果示例代码
Sep 12 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
js实现九宫格拼图小游戏
Feb 13 Javascript
js模态对话框使用方法详解
Feb 16 Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
vue实现一个炫酷的日历组件
Oct 08 Javascript
ES6的解构赋值实例详解
May 06 Javascript
JS操作json对象key、value的常用方法分析
Oct 29 Javascript
JS实现点餐自动选择框(案例分析)
Dec 10 Javascript
JS获取当前时间戳方法解析
Aug 29 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根据年月获取季度的方法
2014/03/31 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
JS验证字符串功能
2017/02/22 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
js里面的变量范围分享
2020/07/18 Javascript
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
python Xpath语法的使用
2020/11/26 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
军训 自我鉴定
2014/02/03 职场文书
企业宣传策划方案
2014/05/29 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
三严三实对照检查材料
2014/09/22 职场文书
实习计划书范文
2015/01/16 职场文书
公司规章制度范本
2015/08/03 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书