收藏
回答

that.setData 没有生效问题 如下图

问题模块
API和组件


在setData里面的第二个没有生效!!  O(∩_∩)O谢谢

最后一次编辑于  2017-04-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

6 个回答

  • tian
    tian
    2017-04-07

    提供的信息太少了,建议用以下方式排查错误:

    • 单独设置一项是否生效

    • 直接设置常量,例如 `setData({ latelyPlayId: 1000 })`,看是否生效

    2017-04-07
    赞同
    回复
  • 上帝踢足球
    上帝踢足球
    2017-04-07
    Page({
    data: {
    latelyPlayId: 45,
    },

    tap: function () {
    const that = this;
    console.info(that.latelyPlayId + " that.latelyPlayId");
    },
    onReady: function () {
    const that = this;
    wx.request({
    url: '',
    data: {_: new Date().getTime()},
    header: {
    'content-type': 'application/json'
               },
    method: 'GET',
    success: function (res) {
    that.setData({
    latelyPlayId: 1000
                   });
    that.tap();
    },
    })
    }
    });


    2017-04-07
    赞同
    回复
  • Истина
    Истина
    2017-04-07
    that.setData({
      latelyPlayId: 1000
    });
    that.tap();

    这一块有问题,setData 之后直接输出 latelyPlayId 好像不可以,按照之前 react 的经验 setData 应该是异步的,最好加一个 setTimeout 之后在输出看结果~

    2017-04-07
    赞同
    回复
  • 上帝踢足球
    上帝踢足球
    2017-04-07

    @人生海海    setTimeout 之前试过,不行。

    2017-04-07
    赞同
    回复
  • 周涛
    周涛
    2017-04-07

    that.data.latelyPlayId = 1000; 这里做什么? 给page-> data -> latelyPlayId 赋值?

    应该这么写:

    var latelyPlayId_ = 1000;

    that.setDate({

    latelyPlayId: latelyPlayId_

    })

    2017-04-07
    赞同
    回复
  • 上帝踢足球
    上帝踢足球
    2017-04-07

    Page.prototype.setData()

    setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。

    注意:

    1. 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。

    2. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据



    谢谢各位!! 问题已解决

    2017-04-07
    赞同
    回复