技术不行但人小帅 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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。