我有很多$控制器scope.variables更簡單的方法將範圍變量傳遞到服務?
$scope.users = userService.getUsers();
$scope.selectedAvailableGroups;
$scope.selectedAssignedGroups;
$scope.availableGroups;
$scope.assignedGroups;
我有我的控制器功能,它使用一個服務,服務需要傳遞給它arguements:
$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