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 parseInt 函数分析(转)
Mar 21 Javascript
JQuery 选择和过滤方法代码总结
Nov 19 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 Javascript
JS遍历页面所有对象属性及实现方法
Aug 01 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
Sep 20 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
Node.js调试技术总结分享
Mar 12 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
谈谈VUE种methods watch和compute的区别和联系
Aug 01 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
Nov 01 Javascript
jquery插件实现图片悬浮
Apr 16 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的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
php 常用的系统函数
2017/02/07 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
js正文内容高亮效果的实现方法
2013/06/30 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
js同源策略详解
2015/05/21 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
js中开关变量使用实例
2017/02/24 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
[00:20]TI9观赛名额抽取Ⅱ
2019/07/24 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python深入学习之特殊方法与多范式
2014/08/31 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python实现二分查找算法
2017/09/21 Python
详解Python中的动态属性和特性
2018/04/07 Python
python 重定向获取真实url的方法
2018/05/11 Python
python抖音表白程序源代码
2019/04/07 Python
Python调用.NET库的方法步骤
2019/12/27 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
学年自我鉴定范文
2013/10/01 职场文书
会计毕业生自荐信
2013/11/21 职场文书
上班上网检讨书
2014/01/29 职场文书
文体活动实施方案
2014/03/27 职场文书
中学生英语演讲稿
2014/04/26 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis