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为异步获取信息)相关推荐

  1. 微信小程序中这么简单的设置页面背景图及字体颜色的方法,你还不会?

    在微信小程序中,我们不免的要设置背景图片和字体颜色. 那怎么样才能做到简单的设置背景图片和字体颜色呢? 话不多说,直接开讲 首先先说怎么设置页面背景图片: 这是博主准备的照片. 下面是在wxml中的代 ...

  2. 微信小程序填坑之路(六):wx.getUserInfo 接口的变动与使用

    问题 在微信小程序开发中,获取用户信息是经常会用到的!在之前,我们直接调用wx.getUserInfo接口,就可以直接获取用户的信息.然而为了安全考虑,从2018年4月30号开始,wx.getUser ...

  3. 微信小程序中内嵌一个h5页面

    1.写好要嵌入的html页面 PS:我是用sublime编辑器编写的html页面,从后台服务器上面读取数据(富文本的内容),追加到body里面,再上传到前端服务器上面 2.把h5文件夹(包括多个需要内 ...

  4. 在微信小程序中实现Wi-Fi功能

    在微信小程序中实现Wi-Fi连接功能 #1.首先通过后端提供的接口获取到ssid和password const { data: wifi } = useQuery(["wifi"] ...

  5. 微信小程序中使用动态echarts

    微信小程序中使用动态echarts,套值可用 1.先在微信开发者工具中创建一个项目 2. 在echarts-for-weixin中下载项目 解压后打开,把ec-canvas文件夹复制到项目pages同 ...

  6. 微信小程序中使用全局变量解决页面的传值问题

    微信小程序中使用全局变量解决页面的传值问题 由于项目需要,最近便在做 一个类似于美团的餐饮平台的的微信微信小程序 ,项目有十几个页面,那么页面间的传值被经常用到.在小程序中页面间的传值主要有使用全局变 ...

  7. 解决微信小程序中在其他页面无法使用app.js中获取的userInfo或openid的问题

    问题 最近写小程序中,在app.js里获取用户的openid和userinfo,并存储为全局变量: getUserInfo: function () {var that = thiswx.getUse ...

  8. 微信小程序中带参数返回上一页的方法总结(三种)

    本篇文章给大家带来的内容是关于微信小程序中带参数返回上一页的方法总结(三种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方法一 把当前页面数据放入本地缓存( wx.setStor ...

  9. 微信小程序--在app.js 和其他页面中更改globalData的值

    微信小程序--在app.js 和其他页面中更改globalData的值 app.js中修改 其他页面 app.js中修改 在app.js中,应当在小程序初始化完成以后再更改全局变量的值,即在onLau ...

最新文章

  1. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...
  2. 在GitHub上搭建GitHub Pages博客-- Jekyll
  3. determination
  4. Python小游戏(打地鼠)
  5. 有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和
  6. HOLOLENS不适合加天空盒
  7. 解决apache的the requested operation has failed
  8. Linux Shell编程笔记8 进程
  9. [转]更改windows 2003远程桌面连接的端口
  10. 工厂模型——简单工厂和工厂方法
  11. 三星note3 android4.3,真的8核全开了!Exynos版GS4升级安卓4.3
  12. MIME,拓展名需要相应的软件打开
  13. 单例模式(懒汉模式)
  14. win7(win10)更改“文件类型显示图标“的终极修改方法
  15. 如何设置和解除PDF文件保护?
  16. 华为Android10怎样root,华为Mate10 root教程_华为Mate10卡刷获取root权限的方法
  17. python_pdf常规使用
  18. 【山科OJ】Problem A: 社交网络的好友推荐
  19. C#使用iTextSharp将数据导出成PDF
  20. django arya插件对数据库操作使用,reverse发娘解析url的使用

热门文章

  1. python怎么控制键盘和鼠标_Python pyautogui 控制键盘和鼠标
  2. 高效管理,原来这么简单
  3. 基于51单片机的多功能视力保护台灯
  4. 网页访问服务器默认什么端口号,URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念!...
  5. 创业者那些鲜为人知的事情
  6. 全新讲解IT售前技能栈,请关注本文!!
  7. 数据结构------后序遍历,不用栈实现和用栈实现
  8. 淘宝客小程序制作(2)-服务器设置
  9. numpy_图片翻转
  10. RPA+AI入门必须知道的39个名词