发现一个特别奇怪的BUG
发布于 6 年前 作者 yangzhang 2358 次浏览 来自 问答

是这样的。我有一个购物车功能,有两个列表,加减联动,里面的数据通过wx:for循环出来展示在页面上,这两个列表绑定了同一个加减数量的函数,一个列表加减正常,另一个就报错:TypeError: Cannot read property ‘hit’ of undefined

这里两个添加按钮绑定了同一个事件                  这是tapAddCart事件函数          tapAddCart: function (e) {

   var id = e.target.dataset.id;

   

   console.log(this.data.goods[id].hit);

   this.addCart(id);        this.setData({            num1:id       })    },                      addCart: function (id) {                let index=parseInt(id);      var c = parseInt(this.data.goods[index].hit) + 1;        this.setData({      [goods[${index}].hit]: c    })

   var num = this.data.cart.list[id] || 0;    this.data.cart.list[id] = num + 1;    this.countCart();      },                  结果就是class="addCart"这个绑定的调用正常,另一个就报错TypeError: Cannot read property ‘hit’ of undefined

           想知道这是为什么!!! 都是些莫名其妙的问题

2 回复

你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

那个报错的绑定 看起来是读不到data里我定义的数组数据,that=this什么都用了,死活读不到,这是不是一个BUG?另一个正常读取,关键是两个点击事件绑定的同一个函数啊,希望官方能出来解答下,一些莫名其妙的bug

回到顶部