gpt4 book ai didi

javascript - 有没有办法使用 AngularJs HashKey 来更新数组中的项目?

转载 作者:行者123 更新时间:2023-12-02 16:24:35 25 4
gpt4 key购买 nike

我认为这是一个简单的解决方案,但似乎无法正常工作。

我有一个对象数组列表,我在 html 上通过 ng-repeat 运行它。在每一行上,我添加一个按钮,用于调用保存到 api 服务器的操作。这会从数据库返回一个 Id,我想在 View 的数组中更新该 Id。虽然我似乎找不到办法。

我无法使用 $index,因为我正在过滤显示的项目,因此 $index 与数组索引不匹配。

Controller :

vm.developmentItems = [];
service.getItems().then(function (results) {
vm.developmentItems = results;
});

function saveItem(item) {
service.updateOrCreate(item)
.then(function (newId) {
//Need to update the viewmodel here.
//Tried sending in the $index but because I'm filtering the $index doesn't match the array.
item.id = newId; //Tried this

});
}

HTML:

<tr data-ng-repeat="item in vm.developmentItems | filter: {filter: cat.id}">
<td>{{item.name}}</td>
<td><button type="button" data-ng-click="vm.saveItem(item)"></button></td>
</tr>

所以我想,如果我可以根据标签中的跟踪和 Angular 使用来更新数组中的项目,也许我可以这样做。我可以做一个数组 foreach 但想知道是否有一些快速的方法使用 Angular ,因为我有主题标签。

最佳答案

如果您只想使用 newId 更新现有的developmentItem,那么我只需在数组中查找当前项目并使用该索引来进行更新。

vm.developmentItems = [];
service.getItems().then(function (results) {
vm.developmentItems = results;
});

function saveItem(item) {
service.updateOrCreate(item)
.then(function (newId) {
//Need to update the viewmodel here.
//Tried sending in the $index but because I'm filtering the $index doesn't match the array.
var currentIndex = vm.developmentItems.indexOf(item);
vm.developmentItems[currentIndex].id = newId;
});
}

关于javascript - 有没有办法使用 AngularJs HashKey 来更新数组中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28801963/

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