2018-11-17 js的this引起的血案
js的this.
昨天测试,删除商品会报错,马上去测了一把,的确会报错。为毛线呢?
SubOrderItem: function (orderitem) {
if (orderitem.ordernum() === 1) {
var mm = this;
mm.orderitem = orderitem;
vm.ShowYesOrNoDialog("是否删除此商品?", "", {
btnname: "确定",
operation: function () {
vm.orderinfo.SubNum(mm.orderitem, 1);
vm.closeMe();
}
});
return;
}
vm.orderinfo.SubNum(orderitem, 1);
},
错误是tojson(orderitem)报错误。因为orderitem下面还有orderitem.最糟的是它指向了它自己的父亲。
想了半天为啥,最后发现是this的原因。 点击对象当前是orderitem,而我又写了红字的部分,最后导致了,它指向了它自己。