基本上我有这个控制器:
angular.controller('AddUsersCtrl', function ($scope, UsersService) {
$scope.users = [];
function toggleUser (user) {
user._toggled = !user._toggled;
}
function addAll ()
var users = $scope.users;
UsersService
.addMany(users)
.success(function (response) {
// ...
})
}
});
它是一个页面的控制器,用户可以一次添加多个用户,并且每个用户都可以切换(基本上切换是视图用来切换用户信息的UI状态)
但正如您所看到的,addAll函数引用了作用域上的用户,然后调用了" addMany" UsersService的方法。在这一点上,_toggled变量应该被过滤掉,否则它也会发送" _toggled"到了后端。
现在一个简单的解决方案是循环访问用户并删除" _toggled"变量,但是有更好的方法还是我的结构错了?
答案 0 :(得分:1)
您可以为属性使用单独的数组,如下所示:
angular.controller('AddUsersCtrl', function ($scope, UsersService) {
$scope.users = [];
$scope.toggledUsers = {};
function toggleUser (user) {
$scope.toggledUsers[user] = !$scope.toggledUsers[user];
}
function addAll ()
var users = $scope.users;
UsersService
.addMany(users)
.success(function (response) {
// ...
})
}
});