部分代码原理不解求教
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);
}