Ice冰山 2022-10-27 11:31 采纳率: 66.7%
浏览 83
已结题

微信小程序page中的data改动失效

代码:
checkMusic: function () {
    let nowMusicId = this.data.musicList[this.data.songIndex].id
    console.log(nowMusicId)
    wx.request({
      url: 'http://localhost:3000/check/music?id=' + nowMusicId,
      dataType: 'json',
      success: (res) => {
        if (res.data.message === "ok") {
          this.setData({ musicStatus: res.data.message })  //在此处修改数据
          console.log("刚开始的状态:"+this.data.musicStatus)
        } else {
          wx.showModal({
            title: '该歌曲无法播放',
            // content:'请前往app播放',
            confirmText: "我知道了",
            showCancel: false,
            success: function (res) {
              if (res.confirm) {
                console.log("我知道了")
              }
            }
          })
        }
        console.log("if结束的状态:"+this.data.musicStatus)
      }
    }),
    console.log("requst结束的状态:"+this.data.musicStatus)
  },

运行结果

img

为什么requst之后数据的改动失效了?
我在其他函数这样的做法都没问题,唯独这里不行,太诡异了

  • 写回答

6条回答 默认 最新

  • 游一游走一走 2022-10-27 11:52
    关注

    request里面不能用this
    we.request的上面添加一行let that=this,后面用that.setData

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题