我正在使用离子框架为学校做一个应用程序。该应用程序适用于餐馆的请求。
我有一个显示我的请求的模式,从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();
});
};
带有示例的图片:
答案 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}}。