微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法
globalData和storage的区别
一、app.globalData 是全局变量,下次进入的时候,就要重新获取,一般用于:
1、保存一些可能涉及安全类的数据,例如资源类,每次需要很准确的,就建议用全局变量。
2、全局变量每次关闭小程序重新打开的时候,都会进行初始化更新。
二、缓存(StorageSync)本地存储,storage 更像是本地的数据库,可以保存更久,一般用于:
1、小程序中的本地存储有同步功能,可用于保存用户信息(用户登录后的一些基本信息)
2、缓存的更新需要使用setStorageSync方法。
globalData的用法
app.js中
app.globalData初始化数据,在app.js中,入口js中,App({onLaunch: function() {},onShow: function(options) {},onHide: function() {},getUserInfo: function(cb) {},globalData: {changeshop: null}
})
app.globalData 存储数据
const app = getApp();
//缓存全局保存
app.globalData.changeshop = changeshop;
在需要使用的地方
const app = getApp()
let changeshop = app.globalData.changeshop;
if (changeshop) {self.setData({addrs: changeshop});
}
StorageSync的用法
1、存入缓存
var addressList= wx.setStorageSync(key,value)
2、取出缓存
var addressList= wx.getStorageSync(key)
3、清除缓存
wx.removeStorageSync(key)
4、清除所有缓存
wx.clearStorageSync()
目前需要实现的是小程序首页在今日最右边放隐藏/显示摘要开关,只显示标题
我第一想法是后端写一个接口,来控制这里显示/隐藏摘要,后面发现其实用StorageSync就能实现了。
这里的swich的样式需要改一下,小程序自带的有点丑,而且有点大,样式如下:
app.wxss
/*swtich整体以及true背景色*/
.wx-switch-input{width:80rpx !important;height:40rpx !important;background: #43A0E9 !important;border: #43A0E9 !important;
}
/*开关为false背景样式)*/
.wx-switch-input::before{width:82rpx !important;height: 40rpx !important;background: #F3F3F3 !important;border: #F3F3F3 !important;
}
/*中间小球*/
.wx-switch-input::after{width: 40rpx !important;height: 40rpx !important;
}
wxml
<view class="date-box"><view class="f50">今日</view><view><text class="f14">隐藏摘要</text><switch class="ml5" checked="{{isChecked}}" bindchange="changeSwitch"/></view>
</view>
js
const app = getApp()
Component({data: {isChecked: false},methods: {getSwitch(){let isCheck = wx.getStorageSync("isChecked") //取出缓存中的isCheckedif(isCheck){this.setData({isChecked: isCheck})}},changeSwitch(){this.setData({isChecked: !this.data.isChecked})wx.setStorageSync('isChecked', this.data.isChecked) //将isChecked存入缓存}}
})
微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法相关推荐
- 微信小程序全局变量globalData
1.在app.js目录里写 // app.js App({onLaunch() {// 展示本地存储能力 const logs = wx.getStorageSync('logs') || []log ...
- 微信小程序全局变量(globalData)和缓存(StorageSync)的区别和具体用法
微信小程序全局变量(globalData)和缓存(StorageSync)的区别和具体用法 一.缓存(StorageSync)本地存储 1.小程序中的本地存储有同步功能,可用于保存用户信息(用户登录后 ...
- 微信小程序 本地mysql_微信小程序系列之使用缓存在本地模拟服务器数据库
微信小程序系列之使用缓存在本地模拟服务器数据库 现在将data.js这个文件视作是本地数据库的初始化数据,要做的第一件事就是讲这些初始化数据装进缓存中,以形成数据库的初始化数据 整个应用程序的生命周期 ...
- 微信小程序和H5网页之间有什么区别?
微信小程序和H5网页之间有什么区别 本博主语录:小程序和H5网页的主要开发语言都是 JavaScript ,所以通常小程序的开发会被用来同普通的网页开发来做对比.两者有很大的相似性,对于前端开发者而言 ...
- [转]微信小程序和H5微网站有什么区别?
时常有用户咨询:微信小程序和H5微网站有什么区别?哪个更好?这个问题,对于普通用户确实难以区分,今天我们就一起来对比一下两者的区别. 要对比,首先我们要知道,什么是微信小程序?微信官方定义:微信小程序 ...
- 微信小程序----全局变量
全局变量的作用 在微信小程序开发中,会遇到一个很实际的应用场景,就是一个变量会在多个页面进行使用. 例如: 1. 在微信小程序开发中使用高德地图的微信小程序开发,其中key值就需要在多个页面使用: 2 ...
- 微信小程序getApp().globalData.user无法获取值
一.debug过程 在进行微信小程序的开发过程中,我利用如下代码获取全局变量中的username的值,但其结果缺如图中所示的只向数据库中存入了对应的类型即object Object. username ...
- 微信小程序—-全局变量
文章目录 全局变量的作用 如何定义全局变量 方法一:用APP定义全局变量 方法二:用引入js的方法定义全局变量 方法三:使用全局状态管理库 方法四:引入redux组件 总结 全局变量的作用 在微信小程 ...
- 小程序获取openid保存缓存吗_微信小程序把openid放到缓存里
在微信小程序里面,openid只能通过wx.login获取,如果在多个页面使用的话需要传递openid,比如说: wx.navigateTo({ url: 'main/main?openid=' + ...
- 微信小程序 全局变量异步函数_微信小程序制作简述
在官网下载微信小程序开发工具,有前端基础就能做,语法类似VUE 微信小程序简单来说就是前端页面,接受后端数据再展现出来即可,所以样式操作占小程序开发的半壁江山 小程序单页面目录: CSS---> ...
最新文章
- Facebook的加密货币即将到来会对整个加密货币领域意味着什么
- 机器学习2021 | 机器学习算法如何商业落地?
- linux日志文件存放目录,Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法
- sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法
- 【Linux系统编程】信号 (上)
- 中国到底有多少个.NET 程序员?都在哪个城市写代码?
- 汇编语言:编写代码实现字符串的复制
- oracle mysql 线程数_oracle线程数更改
- 为什么说阿里巴巴已进化成为一家世界级的科技公司?
- oracle数据库小总结(2017年7月10日)
- Python中的字典数据结构
- 小组作业:学生信息管理系统需求分析
- Github上3.5k star 的微博爬虫,很赞!
- 如何利用Spring Boot框架开发一个全球化的应用程序
- ffmpeg MP4 提取 MP3文件
- 谷歌浏览器 抖动 chrome 上下抖动 问题解决
- 正则表达式校验正数/负数
- Chromebook + Crouton
- 计算机维修工初级题库网盘,初级计算机维修工技能试卷.pdf
- 瀑布模型的特点及优缺点
热门文章
- Mac上Ae后期制作-MOV转MP4
- WHAT IS ILT(INCREMENTAL LINK TABLE)?
- 用python turtle画棒棒糖源代码_【自学Python】DAY 4 绘画大师——turtle库(超详细)
- 如何发布webservice服务端
- 设计模式(23):创建型-原型模式(Prototype)
- java简单表白的情话_感动的表白情话 简单表白的话
- MySQL批量插入与更新
- 【排序算法】归并排序算法原理
- 如何从 0 到 1 搭建生鲜 B2B 的技术体系(B2B 技术共享第五篇)
- WEB22_Js原生Ajax和Jquery的Ajax