收藏
回答

为什么在setNavigationBarTitle里的值undefined?

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

5 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-04-23

    同步异步问题

    getData: function(id){
        return new Promise((resolve, reject)=>{
            // 你的代码放在这里面,resolve(你要返回的数据)
            wx.request({
                url:'xxxxx'success:(res)=>{
                    resolve(res.data)
                }
            })
        })
    }
    ===================
    this.getData(options.id).then(r=>{
        // 这里的r就是getData里resolve括号里返回的数据
        wx.setNavigationBarTitle({
            title: r.data.name
        })
    })
    

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-04-23
    有用 3
    回复 1
    • ShingleZ
      ShingleZ
      2020-04-24
      解决了,非常感谢!!
      2020-04-24
      回复
  • Admin ²º²⁴
    Admin ²º²⁴
    2020-04-23

    异步问题哈。

    2020-04-23
    有用 1
    回复
  • 神经蛙
    神经蛙
    2020-04-23

    这个打印有点骗人,如果异步赋值,这个打印的对象可能在你赋值之后发生变化,和你使用的时候不一致,这一点需要注意下

    2020-04-23
    有用 1
    回复 1
    • ShingleZ
      ShingleZ
      2020-04-23
      我大概知道什么问题了,就是我使用的时候他还没有值,这个name异步赋值了
      2020-04-23
      回复
  • 林子
    林子
    2020-04-23

    console.log(JSON.stringify(this.data))

    你用这种方式能打印出当时的数据

    2020-04-23
    有用
    回复
  • TNT
    TNT
    2020-04-23

    那你打印this.data.name啊

    2020-04-23
    有用
    回复 2
    • ShingleZ
      ShingleZ
      2020-04-23
      2020-04-23
      回复
    • TNT
      TNT
      2020-04-23回复ShingleZ
      有空写个代码片段。https://developers.weixin.qq.com/s/P2XrhOmw7CgR。。我不清楚你的name是哪个地方返回的。如果是getData里设置的name,那么你的setNavigationBarTitle需要放到那个函数里
      2020-04-23
      回复
登录 后发表内容
问题标签