为了账号安全,请及时绑定邮箱和手机立即绑定

部分代码原理不解求教

checkAll: function(flag) {

        this.checkAllFlag = flag;

        var _this = this;

        this.productList.forEach(function (item, index) {

          if (typeof item.checked == 'undefined', _this.checkAllFlag) {

            _this.$set(item, "checked", _this.checkAllFlag);

          }

          else {

            item.checked = _this.checkAllFlag;

          }

        });

        this.calcTotalPrice();

      },

购物车中全选按钮,  中间那步判断 if (typeof item.checked == 'undefined', _this.checkAllFlag)   只需要判断有没有checked属性就可以了的。为啥后面加上_this.checkAllFlag。


delConfirm: function(item) {

        this.delFlag = true;

        this.curProduct = item;

      },

      delProduct: function() {

        var index = this.productList.indexOf(this.curProduct);

        this.productList.splice(index, 1);

        this.delFlag = false;

      }

delConfirm 该函数获得了  this.curProduct = item;  这个可以理解为一个对象?(遍历数组中的 json )

delProduct 该函数中 var index = this.productList.indexOf(this.curProduct); 可以查到 该对象在数组中的索引?



我自己写个小的demo  就出了问题 感觉思路一样的。


window.onload = function(){

var arr = [{'name':1},{'name':2},{'name':3},{'name':4}];

var item = {'name':3};

var index = arr.indexOf(item);

console.log(index);


arr.splice(index,1);

console.log(arr);

}



正在回答

1 回答

window.onload = function(){

     var json = {'list':[{'name':1},{'name':2},{'name':3},{'name':4}]};

     var item = json.list[2];

     var index = json.list.indexOf(item);

     console.log(index);

     json.list.splice(index,1);

     console.log(json.list);

}


这样就对了。我刚刚弄错了。  获取本来就是对象中的东西。  这个indexOf 就可以找到。 这样用真心不错。 弄明白了。谢谢该视频的老师


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
使用vue2.0实现购物车和地址选配功能
  • 参与学习       96865    人
  • 解答问题       446    个

本视频教程结合案例完整贯穿各个知识点,轻松玩转vue2.0框架

进入课程

部分代码原理不解求教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信