我需要使用ActionSheet(通过保留事件触发)而不是标准的ng-click从列表(从数组填充)中删除项目。

问题是我不知道如何传递索引数字或项目ID来查找和删除它。

这是HTML:

<ion-list>
  <ion-item ng-repeat="mensaje in mensajes" class="item" ng-click="abrirMensaje()"
  on-hold="mostrarMenu(mensaje)">
    <h2>{{ mensaje.alert }}</h2>
    <p>{{ mensaje.hid }}</p>
  </ion-item>
</ion-list>


这是ActionSheet的控制器:

$scope.mostrarMenu = function(mensaje) {

    // Show the action sheet
    var hideSheet = $ionicActionSheet.show({
        buttons: [
            { text: '<b>Compartir</b>' },
        ],
        destructiveText: '<b>Eliminar</b>',
        cancelText: '<b>Cancelar</b>',
        cancel: function() {
    },
        buttonClicked: function(index) {
        return true;
        },
        destructiveButtonClicked: function(mensaje) {
            return true;
        }
    });
};


有任何想法吗?

最佳答案

我看到您在此处使用ng-repeat,因此可以轻松地通过$ index传递索引

<ion-list>
    <ion-item ng-repeat="mensaje in mensajes" class="item" ng-click="abrirMensaje()"
    on-hold="mostrarMenu(mensaje, $index)">
        <h2>{{ mensaje.alert }}</h2>
        <p>{{ mensaje.hid }}</p>
    </ion-item>
</ion-list>

10-08 06:43