我有一个HTML <li>
列表,其中每个列表元素都是使用JSON数据创建的,使用JS文件中的函数。我需要能够删除这些记录:
favouritesListMarkup: "<li><a href=\"{{href}}\">{{title}}</a><a href=\"#\"><span class=\"glyphicon glyphicon-remove\"></span></a></li>"
我猜下面屏幕截图中的每条记录都有一个索引(0,1,2等)(我试图创建自己的名为ID
,在屏幕截图中删除)。如何将每个列表元素与索引相关联以删除该特定记录?
这是添加收藏夹的代码:
add: function () {
var item = {};
item["title"] = this.pageTitle;
item["url"] = this.currentHref;
this.fav.push(item);
this.save();
},
删除功能(现在需要ID以便能够删除特定记录,而不是基于用户正在浏览的页面的记录):
remove: function () {
this.findAndRemove(this.fav, "url", this.currentHref);
this.save();
},
findAndRemove: function (array, property, value) {
array.forEach(function (result, index) {
if (result[property] === value) {
array.splice(index, 1);
}
});
},
保存功能只是将其保存在本地存储JSON.stringify中并设置项myFav
。然后可以访问该项目以删除记录。
答案 0 :(得分:1)
如果您使用ng-repeat从JSON加载列表项,则可以使用$index
,每个元素索引从0开始