为什么产品数量会发生变化,当我将同一产品推入数组中两次或两次以上时

Why product quantity change, When i am push two or more than two time of same product in array

当我在数组中推送相同的产品两次然后两个产品数量显示相同时,我遇到了以下问题。例如,假设 ABC 是我的产品,当我将它推入 XYZ 数组时,数量为 10,第二次相同的产品推入 XYZ 数组,数量为 15,然后两个产品数量都显示 15,这意味着最后一次推入的产品数量替换为所有相同的产品名称和相同的ID。这是我完成的代码,请检查并纠正我的问题。

JS代码

    $scope.XYZ = [];
    $scope.addProductInBag = function(prod){
    $scope.XYZ.push(prod); //inside of prod productname,quantity,id as well.
    }

HTML代码

<a class="btn btn-default" ng-click="addProductInBag(prod)">Push</a>
   <div ng-repeat="prd in XYZ">
     <div>{{prd.id}}</div>
     <div>{{prd.productname}}</div>
     <div>{{prd.quantity}}</div>
   </div>

下面的代码工作正常。请检查此 plunker 以了解您给定的示例场景。

控制器:

  $scope.XYZ = [];
  $scope.addProductInBag = function(prod){
    var dummy = {
      id: 10001 + ($scope.XYZ.length),
      productname: 'TEST' + ($scope.XYZ.length + 1),
      quantity: 2 + ($scope.XYZ.length)
    }
    $scope.XYZ.push(dummy);
  };