簡體   English   中英

<ion-item>刪除時保持相同的參數

[英]<ion-item> keeps same parameters when deleted

我正在使用ionic框架為學校開發應用程序。 該應用程序用於向餐廳發出請求。

我有一個顯示我的請求的模式,從本地存儲列出我請求的項目。

問題是,當我首先刪除底部的項目時,它可以正確執行,並刪除了應該的價格。 但是,如果我先刪除頂部的項,那么第二項將帶有第一個的參數:

<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();
  });
};

帶有示例的圖像:

圖片

您正在使用變量$index

ng-repeat="entradasPedido in entradasPedidos track by $index

作為函數的id參數:

function showPopupApagarEntradas(id, price, quant)

ngRepeat官方文檔中$index表示:

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

它絕不鏈接到StorageServiceEntradas包含的項目的標識符。 看來您必須調用showPopupApagarEntradas(entradasPedido.id, etc.)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM