我需要对angularjs CRUD操作有疑问。我几乎完成了,但是在更新CRUD表时,它显示了一些错误。我无法更新表而不是更新表,而是添加了新行。我想替换同一行中的值。
select query
答案 0 :(得分:0)
updateData
函数正在将新值推入users
数组,导致将新行添加到表中。如果要更新用户,只需更新传入参数的对象的属性(即user
对象)。像这样:
$scope.updateData = function(user){
user.property = "value";
}
此外,在当前的函数实现中,您使用的index
变量似乎不存在。也许您应该考虑在AngularJS / JavaScript上学习更多,因为显示的代码似乎存在多个问题,可以通过更多地了解自己的工作来解决。
答案 1 :(得分:0)
如果您可以将索引作为参数从html赋予$ scope.updateData函数,则可以;
$scope.updateData = function(user, index){
$scope.users[index] = user;
}
如果您没有索引信息,则必须在用户中循环查找要更新的用户,如下所示:
$scope.updateData = function(user){
$scope.users.forEach(function(userToBeUpdated, i){
if(user.id == userToBeUpdated.id){ //user object id property is assumed
userToBeUpdated = user;
}
})
}