收藏
回答

为什么读不出页面中的数据?

js

  data: {
    content_id:'',
    username:'',
    useravatar:"",
    hintImg:"/assets/icon/播放.svg",
    soundUrl:"",    //存储播放地址
    isPlay:false,
    soundID:"" ,     //云文件id,
},
onLoad:{
    console.log(options)
    var index = JSON.parse(options.item);  //获取json对象
    db.collection('posts').doc(index).get({
      success: function (res) {
        console.log(res.data._fileid)
        this.setData({
          content_id: res.data._id,
          username: res.data._nickName,
          useravatar: res.data._avatarUrl,
          soundID: res.data._fileid
        })        
      }
    })


    console.log(this.data)
    console.log("soundID", this.data.soundID)
}

两行console命令结果:为什么这时候单个无法读取数据了?

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

1 个回答

  • Admin²⁰²⁰
    Admin²⁰²⁰
    03-31

    异步的原因

    你把   console.log(this.data)
        console.log("soundID", this.data.soundID)放到success:里面的试试就能看到有结果了
    
    03-31
    有用 1
    回复 2
    • w💤
      w💤
      04-05
      嗯嗯 这个问题解决了,把它转成同步的了嘿嘿
      04-05
      回复
    • w💤
      w💤
      04-05
      再请教一个问题,如果是在*组件*中访问数据库,像这样,在console能打印出有效数据,但是为什么这里setData说不能对其赋值undefined?不是特别明白qaq
      04-05
      回复
登录 后发表内容
问题标签