收藏
回答

关于小程序全局变量的使用有个问题?

一个登录的操作,想修改本地的用户组,用户组信息是在app.js里面写的,默认值为0。

然后点击查询当前用户组,可以正常显示0。下方监测页面,有一项amount显示为0。

在登录过程中,如果成功了,会把usergroupthis赋值给app.globalData.usergroup,应该是2。

然后再返回首页,查询当前用户组之后,只能显示amount的页面默认值-1,甚至在监测页面都没有amount这一项了。

想问一下这是怎么回事,怎么解决?

回答关注问题邀请回答
收藏

2 个回答

  • Admin²⁰²⁰
    Admin²⁰²⁰
    02-15
    下面的少了data(比如this.userpwdget应为this.data.userpwdget),另外有几个地方应该用that代替this
    if (this.userpwdget == this.userpwdinput)
          {
            console.log('密码正确')
            app.globalData.usergroup = this.usergroupthis
            //wx.redirectTo({
            //  url: '../index/index',
            //})
          }
    
    02-15
    有用 2
    回复 2
    • sunflower
      sunflower
      02-15
      想问一下怎么区分应该使用that和this的不同情况啊
      02-15
      回复
    • Admin²⁰²⁰
      Admin²⁰²⁰
      02-15回复sunflower
      普通情况下this代表当前实例,但是很多方法是有回调的,回调的方法里的this代表回调方,这个时候就有2个this变量了,重复并冲突了,解决这个问题就引入了that变量。所以你要在回调前把var that=this;把当前页面实例保存到that里面,当要使用时就用that,这样就不冲突了
      02-15
      1
      回复
  • stop eating
    stop eating
    02-15

    你页面是不是这么写的?

    02-15
    有用 1
    回复 6
    查看更多(1)
登录 后发表内容
问题标签