不得不吐槽小程序的关于Storage的坑实在是多。最终只能放弃,其实我要做的事情也很简单,就是要在小程序的每个页面中调取一些统一的信息。后再找到了在App.js里有一个GlobalData的功能,看名字就知道很好使。
初始化GlobalData
在App.js的最上方可以设置GlobalData的初始值。
App({
globalData:{
appid: '1wqas2342dasaqwe232342xxxxxxxxxx',//appid需自己提供,此处的appid我随机编写
secret: 'e0dassdadef2424234209bwXXXXXXXXXXXXXX',//secret需自己提供,此处的secret我随机编写
openid:'你好', //自定义
},
在App.js中修改GlobalData的值
比如,获得UserInfo后将openid的值赋值给GlobalData中的openid,可以这样写:
this.globalData.openid = e.detail.openid;
this代表的是当前文件。
在小程序的页面中调用和写入GlobalData
在小程序的所有页面中都可以随时调用和写入存放在GlobalData的数据。无论是调用还是写入,第一步都是要让页面与App.js产生关联。所以在页面的对应的JS中,第一句话就要写上:
var app = getApp();
这样当前页面就可以访问GlobalData的数据了,现在先读取openid的信息吧:
var getAppInfo = app.globalData.openid;
console.log(getAppInfo)
在页面中设置openid:
getApp().globalData.openid = "12345";
GlobalData可以随时在页面中读取和存储数据,比Storage方便很多。