技术不行但人小帅 2023-02-24 19:36 采纳率: 59.7%
浏览 30
已结题

uniapp 微信云开发数据库获取的数据无法赋值给data变量

uniapp 微信小程序调用微信云开发服务器返回的数据如何赋值给data 变量?


 data(){
  return{
rentlists="13123"
}
}


  
        created(){
            const db = wx.cloud.database()
            db.collection('myRent').where({
             type: 'info'
            
            }).get({
                success: function(res) {
                     let that=this
                  console.log(that.rentlists);  //       undefined?    预期应该是rentlists="13123"
                    // 输出 [{ "title": "The Catcher in the Rye", ... }]
                    that.rentlists=res.data;  //能接收到数据、
                    console.log(that.rentlists) //此时res.data的确赋值给rentlists 但这个rentlists似乎不是上方data中的rentlists? 
                }
            })
        },
  • 写回答

1条回答 默认 最新

  • CodeBytes 2023-02-24 19:43
    关注

    该回答引用ChatGPT

    在您的代码中,可以通过 that 变量来访问 Vue 实例中的 data 变量,但是 that 变量在 success 函数内部定义,而 this 关键字的作用域在 success 函数内部也是不同的,这导致了 that.rentlists 和 this.rentlists 引用的是不同的变量。

    为了在 success 函数中访问 Vue 实例的 data 变量,可以先将 Vue 实例的 this 绑定到另一个变量,然后在 success 函数中通过这个变量来访问 data 变量。可以按照如下方式修改代码:

    
    data() {
      return {
        rentlists: "13123"
      };
    },
    created() {
      const db = wx.cloud.database();
      let vm = this;
      db.collection('myRent').where({
        type: 'info'
      }).get({
        success: function (res) {
          console.log(vm.rentlists);  // vm 变量引用的是 Vue 实例,可以通过它来访问 data 变量
          vm.rentlists = res.data;
          console.log(vm.rentlists);
        }
      })
    }
    
    

    在上述代码中,我使用了 vm 变量来引用 Vue 实例,在 success 函数内部通过这个变量来访问 data 变量。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月24日
  • 已采纳回答 2月24日
  • 创建了问题 2月24日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭