我正在尝试从列表中删除用户。出于某种原因,拼接不会从列表中删除用户。任何人都可以帮我解决这个问题。我从后端API调用中获取用户,并且当它删除该特定用户时,我正在使用PUT方法来更新它。
app.js
app.controller('MyCtrl', function($scope, $window) {
$scope.inactive = true;
$scope.confirmedAction = user => {
const index = $scope.userInfo.users.indexOf(user);
$scope.userInfo.users.splice(user, 1);
$window.location.href = '#/user';
};
});
答案 0 :(得分:1)
你应该根据索引
进行拼接$scope.userInfo.users.splice(index, 1);
开始更改数组的索引(原点为0)。如果大于数组的长度,实际的起始索引将设置为数组的长度
只是为了展示POC
var array = ['val1','val2','val3']
var index = array.indexOf('val2')
array.splice(index,1);
console.log(array);
//['val1','val3']
答案 1 :(得分:0)
从注释中我注意到:
user
是一个对象,函数的参数user
不是同一个实例!
还假设您在id
对象中有user
属性。
app.controller('MyCtrl', function($scope, $window) {
$scope.inactive = true;
$scope.confirmedAction = function (user) {
var index = $scope.userInfo.users.findIndex(u=> u.id == user.id);
if(index>=0) {
$scope.userInfo.users.splice(user, 1);
$window.location.href = '#/user';
}
}
});