Cannot read property 'globalData' of null;微信小程序

Cannot read property ‘globalData’ of null;

1.报错:Cannot read property ‘globalData’ of null;

2.错误分析:

这个报错的原因可能是this的指向不明确,导致在设置或者获取页面变量或者全局变量的时候出现

3.解决方法:

在页面定义方法的时候,第一步先声明一个变量var that=this

将页面的指针先赋值给that,然后在函数中使用判断,或者循环,或者对象的时候获取变量直接为that.data获取。

如果是获取全局变量的话就可以先在页面第一行声明var app = getApp()
方法中获取全局变量直接使用app.globalData.userInfo来获取

4.样例

先在index.js中定义一个pwdInput方法,页面的话可以直接在index.wxml中添加一个input框,绑定pwdInput这个方法就行

var app = getApp()
page({
data: {
    phone: '',
    password: '',
    phoneTest:'18119999999'
  },
pwdInput: function (e) {
    var that=this
    this.setData({//这一行的this也可以换成that
      password: e.detail.value,
      phone:that.data.phoneTest //这里不能使用this
    })
    wx.sendSocketMessage({
		data:that.data.password  //这里不能使用this,因为this指向了当前的sendSocketMessage里面的对象
   })
   //获取全局变量
   let gPhone = app.globalData.userPhone
   //设置全局变量
   app.globalData.userPwd = this.data.password //这里this可以换成that
}
  })
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值