gpt4 book ai didi

angularjs - 使用 AngularJs 从数据绑定(bind)的 JSON 列表中删除项目

转载 作者:行者123 更新时间:2023-12-04 16:23:18 25 4
gpt4 key购买 nike

我有一个消息列表,这些消息绑定(bind)为来自 JSON 源的 HTML 列表。每个图像旁边都有一个删除按钮。当单击该消息旁边的删除按钮时,我想从列表中删除该消息。

HTML:

<div ng-app="myApp">
<ul ng-controller="MessagesCtrl">
<li ng-repeat="message in messages.data" id="message{{message.id}}">
<a href="#" class="messageIcon">{{message.message}}</a>
<a ng-click="deleteItem()">x</a>
</li>
</ul>
</div>

JS:
    var myApp = angular.module("myApp", []);
myApp.factory("Messages", function () {
var Messages = {};
Messages.data = [
{
id: "1",
message: "Message 1"
},
{
id: "2",
message: "Message 2"
},
{
id: "3",
message: "Message 3"
},
{
id: "4",
message: "Message 4"
}
];
return Messages;
});

function MessagesCtrl($scope, Messages) {
$scope.messages = Messages;

$scope.deleteItem = function () {
var id = this.message.id;
//alert(id);
Messages.data.delete({ id: id }, function () {
$("#message" + id).fadeOut();
});
}

}

fiddle : http://jsfiddle.net/L82S7/

我发现执行此操作的示例使用“.delete”或“.splice”-两者都会产生如下控制台错误:
TypeError: Object #<Object> has no method 'splice'

谁能建议如何使它工作?

谢谢!

最佳答案

splice在这里工作正常:

<a ng-click="deleteItem($index)">x</a>

$scope.deleteItem = function (index) {
Messages.data.splice(index, 1);
}

http://jsfiddle.net/L82S7/1/

关于angularjs - 使用 AngularJs 从数据绑定(bind)的 JSON 列表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18785631/

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