收藏
回答

为什么componen通过获取app全局变量来设置初始值一直报错?

lifetimes: {

    attached: function() {
      console.log(app)
      this.setData({
        userName: app.globalData.userInfo.nickname,
        userAvaterPath: app.globalData.userInfo.headUrl
      })
    }
  },

比如说我想设置用户页面的用户名和头像,能够成功打印出app的,但是setData一直未生效并报错,同样在设置在ready中也无效

控制台能成功打印app信息



组合起来


pageLifetimes: {
  show: function() {
    console.log(app)
    this.setData({
      userName: app.globalData.userInfo.nickname,
      userAvaterPath: app.globalData.userInfo.headUrl
    })
  }
},

但通过此方法设置时,页面第一次不会变动数据,但是第二次进入页面就可以成功,

同时通过onload、ready等方法都无法生效

求好一点的解决方法

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

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-03

    报错是你服务器报的错吧

    2019-10-03
    赞同
    回复 4
    • 比如说
      比如说
      2019-10-03
      主要是能打印app的内容但是在component的生命周期内用不了
      2019-10-03
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-03回复比如说
      你打印app.globalData看看
      2019-10-03
      回复
    • 比如说
      比如说
      2019-10-03回复o0o有脾气的酸奶
      globalData里面的数据是正常的,但是调用setData设置的时候就变null或者undefine,是不是需要先解决报错问题呀
      2019-10-03
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-03回复比如说
      打印出来看看,是不是变量大小写问题?nickname OR nickName?
      2019-10-03
      回复
  • 比如说
    比如说
    2019-10-03

    写完ui填充数据的时候碰到的,坑一坑,一夜开灯[哭]

    2019-10-03
    赞同
    回复
登录 后发表内容
问题标签