请问下,谁能讲解下这三者关系,用久了Vue,来看这东西,不伦不类的, 而且我遇到了很多bug。

this.setData() -> 我的理解是抄袭react的setState()

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

可你有个代码示例是:

    changeNum: function() {    this.data.num = 1
        this.setData({
          num: this.data.num
        })
      },

    既然都说会同步改变对应的this.data的值,上面的this.data.num = 1这句话,岂不是多次一举

    实际测试时,发现不调用this.data.num的话,你在语句执行后,执行console.log(this.data.num),你又会神奇的发现,值还是this.setData之前的值,所以好坑啊,还必须加上。此时this.$data.num倒是变成了最新的值。

           

    2. 问题是我用wepy时,@tap="callFun",分别绑定了如下两种setData的方法,结果完全不一样

    data = {
    展开全部
    收起
    3回答
    提交回答
    • 至过去的我

      2044人对此回答表示赞同

      我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
      发布于
    • 飞翔的企鹅

      19人对此回答表示赞同

      兄弟,wepy的问题去wepy的官方库的issue里面找答案

      展开
      19
      1回复
      发布于 5年前

      评论(1)

      收起评论

      • 蘑菇头小j 2019-01-20 18:07

        谢谢,我用原生的代码测试,确实没有问题,冤枉小程序了,看来wepy确实要背这个锅了

        回复
    • Anna

      14人对此回答表示赞同

      一上手,直接用wepy干小程序,刚测试发现原生里this下面不存在$data这个属性。原来只有wepy才有。直接弄wepy方便是方便,bug也多,还会导致认知上的缺陷。

      展开
      14
      0回复
      发布于 5年前

      评论(0)

      收起评论

    • 白色季节

      9人对此回答表示赞同

      你好根据你给的代码,first并没有瞬间便会原始值呀。

      展开
      9
      2回复
      发布于 5年前

      评论(2)

      收起评论

      • Shyanne 2019-01-22 18:29

        原生没有问题。

        回复
      • 潘多拉 2019-01-25 00:17

        真的吗,我这边项目中一直是这样的,我回头开个干净project测一下

        回复
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    咨询热线

    13312967497

    扫码添加业务即可随时咨询 还可领取小程序推广攻略

    业务咨询: 13312967497
    扫码咨询

    扫码咨询套餐

    回到顶部