最后一个是完整的
大家获取数据时,都会怎么存储数据呢?
目录
1 、最简单的方法,加定时器。(不推荐使用此方法)
2.可以在上一个页面就去获取数据(虽然道理没问题,但是给人感觉上不大好)
3.关闭当前页面,跳转至当前页面(tabbar页面无法实现)
4.用高阶函数,将一个函数作为参数传递到另一个函数(可以很好解决,推荐)
一、存储用户信息
相比于官方文档上给的方法 我个人比较喜欢存放在globalData中。
App({
onLaunch() {
// 展示本地存储能力
const logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
},
globalData: {
userinfo='',
},
login(){
setTimeout(function() {
let arr = [{
name: '张三',
phone: '123456789'
}];
},5000)
//请把这个数组理解为获取授权登录后返回的数据,因为主要是分享获取数据,就先简单一点。
//因为获取用户时候,总是需要一点时间的,所以加了一个定时器
getApp().globalData.userInfo=arr;
}
})
二、使用方法
然后就可以在其他页面上使用getApp().globalData.userinfo进行使用
不过最好还是声明一个常量进行使用,
const app=getApp()
console.log(app.globalData.userinfo)
//一个页面
const app = getApp()
Page({
data: {
},
onLoad() {
},
onShow(){
let that=this
if(app.globalData.userinfo==''){
//因为onShow在每一次进入页面都会加载,所以要进行一个判断
app.login()
}
console.log(app.globalData.userinfo);
}
})
当在页面调用时候,它获取时会有一段时间。如果在同一个页面调用并获取信息会导致获取的数据会为初始值,也就是在app.js中定义的空值

最低0.47元/天 解锁文章





