最近做微信小程序遇到了个问题,就是在data里面设置了一个变量来感知背景音乐的播放和暂停并用这个变量来动态的改变页面,但是当我在背景音乐开启时把页面切出来再重新切进去后这个变量就被重新渲染成我们所定义的默认值false了,这时候页面的显示就和我们所需要的不符了,所以这时候就需要一个地方来保存这个变量使它在页面切换的时候不会丢失,于是就轮到我们的全局变量出场了,它可以很好的解决我们的问题。
有人或许会问,那为什么不用微信小程序自带的Storage呢,因为Storage是只要你不删除它它就会一直存在的,万一用户在背景音乐开的时候啪的一下把小程序关了,那么这个属性就会被保存为true,那么在下一次登录的时候就会出现bug,这同样不是我们想要的。
那么全局变量应当如何使用呢
1.在app.js下定义
2.在页面里调用
var app = getApp()
console.log(app.globalData.playing)
很明显,输出的值是false,这样我们就可以用全局变量去实现我们想要实现的功能了