关于cart-model.js的内部函数_changeCount的一个问题 ​

来源:12-8 购物车页面开发 五

supersylph

2017-12-30

  _changeCounts(id, counts) {
    var cartData = this.getCartDataFromLocal(),
      hasInfo = this._isHasThatOne(id, cartData);
    if (hasInfo.index != -1) {
      if (hasInfo.data.counts > 1) { // 为什么是大于1不是大于0 ?
        cartData[hasInfo.index].counts += counts;
      }
    }
    wx.setStorageSync(this._storageKeyName, cartData); 
  };

为什么是 if ( hasInfo.data.counts > 1 ) { ...... } 而不是 if ( hasInfo.data.counts > 0 ) { ...... } ?

购物车商品数量为1的时候, 如果想增加商品数量, if语句会被跳过

写回答

1回答

醉的抠脚

2018-01-01

商家的操作,始终让你的商品保持有一个,虽然wxml中阻止的事件的使用,但是最保险的还是在model层阻挡下。

所以你可以心理计算下,商品数量为1,大于0,判断通过, cartData[hasInfo.index].counts += counts;运行,商品数量减少一次,缓存数据更新,商品数量为0

显然不符合商家的利益,当然可以按照实际的业务需求来

0
6
supersylph
非常感谢!
2018-01-03
共6条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程