<ion-item>在删除时保持相同的参数

时间:2016-02-06 19:32:18

标签: javascript angularjs ionic-framework angularjs-ng-repeat

我正在使用离子框架为学校做一个应用程序。该应用程序适用于餐馆的请求。

我有一个显示我的请求的模式,从localstorage列出我请求的项目。

问题是,当我首先删除底部项目时,它确实正确,删除了应该的价格。 如果我先删除顶部项目,那么第二项附带第一项参数:

<ion-item ng-repeat="entradasPedido in entradasPedidos track by $index" class="item item-thumbnail-left ">
  <img src="{{entradasPedido.url}}">
  <h2>{{entradasPedido.name}}</h2>
  <p>Esta entrada fica por {{entradasPedido.price}} €</p>
  <span class="badge badge-assertive">{{entradasPedido.quantidade}} und.</span>
  <ion-option-button class="button-dark"
    ng-click="showPopupEditEntradas($index, {{entradasPedido.id}}, {{entradasPedido.quantidade}})">
  Alterar</ion-option-button>
  <ion-option-button class="button-assertive"
     ng-click="showPopupApagarEntradas($index, {{entradasPedido.price}}, {{entradasPedido.quantidade}})">
    Apagar</ion-option-button>
</ion-item>
$scope.showPopupApagarEntradas = function(id, price, quant) {
  var confirmPopup = $ionicPopup.confirm({
    title: 'Tem a certeza que quer remover?',
    template: 'Pode adicionar novamente se desejar.'
  });
  confirmPopup.then(function(res) {
    if(res) {
      StorageServiceEntradas.remove(id);
      var total = price * quant;
      var total1 = parseFloat($localstorage.get('preco_final')) - parseFloat(total);
      console.log($localstorage.get('preco_final') + " - " + total + " = " + total1);

      $localstorage.set('preco_final', total1.toFixed(2));
      $scope.reloadDataModal();
    } else {
      console.log('You are not sure');
    }
    //confirmPopup.close();
  });
};

带有示例的图片:

Image

1 个答案:

答案 0 :(得分:0)

您使用的变量ng-repeat="entradasPedido in entradasPedidos track by $index

id

作为函数的function showPopupApagarEntradas(id, price, quant) 参数:

$index

Collections.synchronizedList()开始,StorageServiceEntradas代表:

  

重复元素的迭代器偏移量(0..length-1)

它与showPopupApagarEntradas(entradasPedido.id, etc.)中包含的项目的标识符无关。您似乎必须致电{{1}}。