AngularJS:按索引删除数组项后索引不更新

AngularJS : index not updating after removing array item(s) by index

本文关键字:索引 更新 删除 AngularJS 数组      更新时间:2023-09-26

我正在尝试使用项目的索引从 AngularJS 的作用域数组变量中删除一个项目。

(如果您要停止阅读这里认为这是一个重复项,请跳转到脚注链接,我能够找到已回答的相似但不相同的问题 - 或者,我可能会错过一些东西,所以如果您发现完全相同的问题,我将不胜感激,如果您愿意分享它的 SO 链接!谢谢)

这是我的例子

http://jsbin.com/seyaje/3/edit?html,output 

我看到的问题是,索引不会自动更新 - 每次 - 因此错误的项目被删除,或者如果索引"越界",则根本不会删除该项目。

我个人更喜欢在我的场景中传递索引,我认为不必重复计算索引的工作相对较少。(如果索引正确!

我怎么可能使用 AngularJS 1.25 解决这个问题?您的建设性帮助将不胜感激!


这可能是一个类似于以下问题的问题:

AngularJS从范围中删除项目如何从范围中删除项目 AngularJS

我想要完成的,似乎与

https://stackoverflow.com/a/23810035 或 http://plnkr.co/edit/51SNVMQjG3dsmpYI5RyY?p=preview

有点类似的未回答问题(查找对象并按索引删除):删除单击的项目 Angularjs

myIndex 属性由重复的初始化设置,并且未正确更新。 相反,您可以只使用$index. 当数组更改并删除正确的元素时,这将相应地更新。

<tr ng-repeat="i in items">
    <td>{{$index}}</td>
    <td>{{i.Id}}</td>
    <td>{{i.Name}}</td>
    <td>{{i.Type}}</td>
    <td>
        <button data-ng-click="deleteItemByIndex($index)">&times;</button>
    </td>
</tr>