如何在离子列表中使用阵列拼接方法



我有一个数据列表,当我们向左滑动列表时,它会用删除功能填充离子列表。

我能够使删除功能工作,但我被困在如何拼接列表时,如果响应为真。

我正在使用$scope.data.splice($index, 1);

这是我的代码

HTML

<ion-item ng-repeat="x in data track by $index" href="#/item/{{x.mif_no}}" class="item-remove-animate">
    <ion-option-button class="button-assertive icon ion-trash-a" on-touch="Delete(x.mif_no,x.item_no)"></ion-option-button>
</ion-item>

这是js代码

JS

$scope.Delete = function(docno,itemno){
$http({
  method: "post",
  url: apiServer + "/fg-in-del.php",
  data: {
    mifno: docno,
    itemno: itemno,
    Dbserver: window.localStorage.getItem("server"),
    Dbuser: window.localStorage.getItem("username"),
    Dbpass: window.localStorage.getItem("password"),
    Dbname: window.localStorage.getItem("dbname"),
  },
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
  }
}).then(function(response) {
  $scope.data=response.data;
  if (response.data == 1){
    var alertPopup = $ionicPopup.alert({
      title: 'Delete',
      template: 'Data has been deleted.'
    });
    $scope.data.splice($index, 1);
  }else {
    var alertPopup = $ionicPopup.alert({
      title: 'Delete',
      template: 'Failed to delete data.'
    });
    console.log(response.data);
  }
}, function(response) {
  $scope.data=response.data;
  var alertPopup = $ionicPopup.alert({
    title: 'Delete',
    template: 'Failed to delete data.'
  });
});
}

JS

 $scope.Delete = function(docno,itemno,index){
      $http({
        method: "post",
        url: apiServer + "/fg-in-del.php",
        data: {
          mifno: docno,
          itemno: itemno,
          Dbserver: window.localStorage.getItem("server"),
          Dbuser: window.localStorage.getItem("username"),
          Dbpass: window.localStorage.getItem("password"),
          Dbname: window.localStorage.getItem("dbname"),
        },
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
        }
      }).then(function(response) {
        if (response.data == 1){
          var alertPopup = $ionicPopup.alert({
            title: 'Delete',
            template: 'Data has been deleted.'
          });
          $scope.data.splice(index, 1);
        }else {
          var alertPopup = $ionicPopup.alert({
            title: 'Delete',
            template: 'Failed to delete data.'
          });
          console.log(response.data);
        }
      }, function(response) {
        $scope.data=response.data;
        var alertPopup = $ionicPopup.alert({
          title: 'Delete',
          template: 'Failed to delete data.'
        });
      });
    }

HTML

<ion-item ng-repeat="x in data track by $index" ng-hide="x.deleted" href="#/item/{{x.mif_no}}" class="item-remove-animate">
    <ion-option-button class="button-assertive icon ion-trash-a" on-touch="Delete(x.mif_no,x.item_no, $index); x.deleted = true;"></ion-option-button>
</ion-item>

此代码永远不会工作,因为:

如果设置

$scope.data=response.data;

然后检查

if (response.data == 1){

在这个if条件中,$scope.data必须是1

无法拼接1?因此

$scope.data.splice($index, 1);

不会起作用。

最新更新