gpt4 book ai didi

javascript - 如何在 AngularJS 中使用过滤器从数组中删除项目?

转载 作者:可可西里 更新时间:2023-11-01 01:57:34 26 4
gpt4 key购买 nike

当我在没有任何过滤器的情况下单击 tr 时,我的函数 array.splice() 起作用。数组中的索引顺序正确,因此 array.splice() 有效。

启用过滤器后,数组中的索引不会更新,并且仍按相同的顺序排列。所以 array.splice() 删除了错误的项目。

    <span ng-click="orderP0 = 'statut_name'; reversePO=!reversePO">order</span>

<tr ng-repeat="project in projects | orderBy : orderPO : reverse track by $index" ng-click="remove($event,$index,projects)">
<span class="label" ng-bind="project.statut_name"></span>
</tr>

$scope.remove = function($event,index,array){
array.splice(index,1);
};

如何更新数组中的索引?或者如何删除正确的项目?

最佳答案

使用 indexOf 可以更轻松地将项目拼接在数组中元素的实际位置。

$scope.remove = function(project){
$scope.projects.splice($scope.projects.indexOf(project),1);
}

这样您只需将当前项目传递给 remove 函数。

<tr ng-repeat="project in projects | orderBy : orderPO : reverse track by $index" ng-click="remove(project)">
<span class="label" ng-bind="project.statut_name"></span>
</tr>

关于javascript - 如何在 AngularJS 中使用过滤器从数组中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23809597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com