本地缓存bug
第一次进入小程序的时候,执行
wx.setStorageSync('key', 'value')
然后打开一个新页面,执行
Page({ data: { userData: wx.getStorageSync('key'), }, |
获取出来的值为空的
第一次进入小程序的时候,执行
wx.setStorageSync('key', 'value')
然后打开一个新页面,执行
Page({ data: { userData: wx.getStorageSync('key'), }, |
获取出来的值为空的
//index.js//获取应用实例const app = getApp()Page({ data: { motto: 'Hello World', userInfo: {}, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo') }, //事件处理函数 bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, onLoad: function () { if (app.globalData.userInfo) { this.setData({ userInfo: app.globalData.userInfo, hasUserInfo: true }) } else if (this.data.canIUse){ // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 app.userInfoReadyCallback = res => { this.setData({ userInfo: res.userInfo, hasUserInfo: true }) } } else { // 在没有 open-type=getUserInfo 版本的兼容处理 wx.getUserInfo({ success: res => { app.globalData.userInfo = res.userInfo this.setData({ userInfo: res.userInfo, hasUserInfo: true }) } }) } }, getUserInfo: function(e) { console.log(e); app.globalData.userInfo = e.detail.userInfo; wx.setStorageSync('key', 'e.detail.userInfo'); this.setData({ userInfo: e.detail.userInfo, hasUserInfo: true }) }}) |
//logs.jsconst util = require('../../utils/util.js')Page({ data: { logs: [], userInfo: wx.getStorageSync('key'), },
console.log(this.data.userInfo); this.setData({ logs: (wx.getStorageSync('logs') || []).map(log => { return util.formatTime(new Date(log)) }) }) }}) |
其他文件都是官方例子