У меня есть контроллер со многим $ scope.variablesПростой способ передачи переменных области в службу?
$scope.users = userService.getUsers();
$scope.selectedAvailableGroups;
$scope.selectedAssignedGroups;
$scope.availableGroups;
$scope.assignedGroups;
У меня есть функции в моем контроллере, который использует услугу, и служба должна заданы параметры, переданные ему:
$scope.removeUserFromGroup = function(){
userService.removeUserFromGroup($scope.selectedUser,$scope.selectedAssignedGroups, $scope.availableGroups, $scope.assignedGroups)
};
ли вы можете увидеть, функция removeUserFromGroup
принимает в 4 аргумента, но имя длинное, и оно действительно не кажется эффективным.
Действительно ли это лучший способ сделать это, или я делаю что-то неправильно?
У меня есть функция, называемая addUserToGroup, и она использует в основном те же самые аргументы, кажется излишним, что мне нужно будет передать эту информацию службе снова.
Будет что-то вроде этой работы: http://jsfiddle.net/85r4H/ – Batman
Это будет - http://jsfiddle.net/LfEtp/1/. Кажется немного странным создание свойства модели в области видимости, поскольку, по существу, объект области является самой моделью представления. Также в вашем последнем примере вы передаете список пользователей службе, которую вы только что извлекли. Поскольку служба уже имеет эту информацию, зачем передавать ее назад и вперед? –
Учитывая ваш комментарий о $ scope, уже являющемся моделью, могу ли я просто не передать сам объект $ scope в функцию? userService.removeUserFromGroup ($ scope) вместо создания другого объекта с именем model? И да. Мне не нужен пользовательский объект, так как он уже находится в сервисе, хороший вызов. – Batman