weex里Vuex state使用storage持久化详解
网络编程 2021-07-04 17:32www.168986.cn编程入门
本篇文章主要介绍了weex里Vuex state使用storage持久化详解,非常具有实用价值,需要的朋友可以参考下
在weex里使用Vuex作为state管理工具,问题来了,如何使得state可以持久化呢?weex官方提供store模块,我们可以尝试使用该模块来持久化state。
先看下该模块介绍
storage 是一个在前端比较常用的模块,可以对本地数据进行存储、修改、删除,并且该数据是永久保存的,除非手动清除或者代码清除。,storage 模块有一个限制就是浏览器端(H5)只能存储小于5M的数据,因为在 H5/Web 端的实现是采用 HTML5 LocalStorage API。而 Android 和 iOS 这块是没什么限制的。
,引入模块
const storage = weex.requireModule('storage')
定义state
var state = { banner:[], activeTabIndex:0, lists: { searchList:[], tabColumns: { new:[], hot:[], select:[] }, items:[] } }
初始化时,从storage加载state数据
// 从storage里加载数据 storage.getItem(STORAGE_KEY, event => { if (event.result == "suess" && event.data){ // 这里可以使用extend等方法,这里仅举例说明 var data = JSON.parse(event.data); state.banner = data.banner; state.activeTabIndex = data.activeTabIndex; } })
关键来了,如何存储?Vuex提供了插件机制,我们可以通过插件订阅state的每一次更改,在更改的时候保存我们感兴趣的就OK了
// 存储plugin,存储感兴趣的数据,store里数据太多,没必要全持久化 const storagePlugin = store => { store.subscribe((mutation, {activeTabIndex,banner}) => { storage.setItem(STORAGE_KEY, JSON.stringify({activeTabIndex,banner}),event => { console.log('cache suess'); }) }) }
,创建Vuex,大功告成
const store = new Vuex.Store({ actions, mutations, plugins:[storagePlugin], state: state, getters: { // ids of the items that should be currently displayed based on // current list type and current pagination activeIds (state) { const { activeType, lists, counts } = state return activeType ? lists[activeType].slice(0, counts[activeType]) : [] }, // items that should be currently displayed. // this Array may not be fully fetched. activeItems (state, getters) { return getters.activeIds.map(id => state.items[id]).filter(_ => _) } } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:vue组件学习教程
下一篇:Vue2几种常见开局方式详解
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指