微信小程序中全局变量userInfo在其它页面不可用(wx.getUserInfo为异步获取信息)
app.js中获取用户的openid和userinfo,并存储为全局变量,当在index中调用getApp().globalData.userInfo时却返回为空值:
getUserInfo: function () {var that = thiswx.getUserInfo({success: function (res) {console.log('用户信息', res.userInfo)that.globalData.userInfo = res.userInfo}})},
原因:
微信小程序中wx.getUserInfo为异步获取信息
将getuserInfo改为回调函数:
getUserInfo: function (cb) {var that = thisif (this.globalData.userInfo) {typeof cb == "function" && cb(this.globalData.userInfo)} else {wx.getUserInfo({success: function (res) {console.log('用户信息', res.userInfo)that.globalData.userInfo = res.userInfotypeof cb == "function" && cb(that.globalData.userInfo)}})}},
在其他需要使用userinfo的页面中,可直接用以下代码:
getApp().getUserInfo(function(userinfo){console.log(userinfo);})
或在onload函数中:
onLoad: function (options) {var that = thisgetApp().getUserOpenid(function (openid) {that.setData({userName: getApp().globalData.userInfo.nickName,userOpenid: openid})console.log('用户openid', that.data.userOpenid)})
},
微信小程序中全局变量userInfo在其它页面不可用(wx.getUserInfo为异步获取信息)相关推荐
- 微信小程序中这么简单的设置页面背景图及字体颜色的方法,你还不会?
在微信小程序中,我们不免的要设置背景图片和字体颜色. 那怎么样才能做到简单的设置背景图片和字体颜色呢? 话不多说,直接开讲 首先先说怎么设置页面背景图片: 这是博主准备的照片. 下面是在wxml中的代 ...
- 微信小程序填坑之路(六):wx.getUserInfo 接口的变动与使用
问题 在微信小程序开发中,获取用户信息是经常会用到的!在之前,我们直接调用wx.getUserInfo接口,就可以直接获取用户的信息.然而为了安全考虑,从2018年4月30号开始,wx.getUser ...
- 微信小程序中内嵌一个h5页面
1.写好要嵌入的html页面 PS:我是用sublime编辑器编写的html页面,从后台服务器上面读取数据(富文本的内容),追加到body里面,再上传到前端服务器上面 2.把h5文件夹(包括多个需要内 ...
- 在微信小程序中实现Wi-Fi功能
在微信小程序中实现Wi-Fi连接功能 #1.首先通过后端提供的接口获取到ssid和password const { data: wifi } = useQuery(["wifi"] ...
- 微信小程序中使用动态echarts
微信小程序中使用动态echarts,套值可用 1.先在微信开发者工具中创建一个项目 2. 在echarts-for-weixin中下载项目 解压后打开,把ec-canvas文件夹复制到项目pages同 ...
- 微信小程序中使用全局变量解决页面的传值问题
微信小程序中使用全局变量解决页面的传值问题 由于项目需要,最近便在做 一个类似于美团的餐饮平台的的微信微信小程序 ,项目有十几个页面,那么页面间的传值被经常用到.在小程序中页面间的传值主要有使用全局变 ...
- 解决微信小程序中在其他页面无法使用app.js中获取的userInfo或openid的问题
问题 最近写小程序中,在app.js里获取用户的openid和userinfo,并存储为全局变量: getUserInfo: function () {var that = thiswx.getUse ...
- 微信小程序中带参数返回上一页的方法总结(三种)
本篇文章给大家带来的内容是关于微信小程序中带参数返回上一页的方法总结(三种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方法一 把当前页面数据放入本地缓存( wx.setStor ...
- 微信小程序--在app.js 和其他页面中更改globalData的值
微信小程序--在app.js 和其他页面中更改globalData的值 app.js中修改 其他页面 app.js中修改 在app.js中,应当在小程序初始化完成以后再更改全局变量的值,即在onLau ...
最新文章
- C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...
- 在GitHub上搭建GitHub Pages博客-- Jekyll
- determination
- Python小游戏(打地鼠)
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和
- HOLOLENS不适合加天空盒
- 解决apache的the requested operation has failed
- Linux Shell编程笔记8 进程
- [转]更改windows 2003远程桌面连接的端口
- 工厂模型——简单工厂和工厂方法
- 三星note3 android4.3,真的8核全开了!Exynos版GS4升级安卓4.3
- MIME,拓展名需要相应的软件打开
- 单例模式(懒汉模式)
- win7(win10)更改“文件类型显示图标“的终极修改方法
- 如何设置和解除PDF文件保护?
- 华为Android10怎样root,华为Mate10 root教程_华为Mate10卡刷获取root权限的方法
- python_pdf常规使用
- 【山科OJ】Problem A: 社交网络的好友推荐
- C#使用iTextSharp将数据导出成PDF
- django arya插件对数据库操作使用,reverse发娘解析url的使用