2

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

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

这是我的例子

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

我看到的问题是,索引不会每次都自动更新,因此错误的项目会被删除,或者如果索引“超出范围”,则项目根本不会被删除。

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

我怎么可能使用AngularJS 1.25解决这个问题?您的建设性帮助总是值得赞赏的!


这可能是与以下类似的问题:

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

我想要完成的工作似乎与以下内容有点相似:

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

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

4

1 回答 1

5

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>
于 2014-11-25T16:57:54.863 回答