Reputation: 137
Hi I'm still new to AngularJs and was wondering if this was possible.
On my controller, I'm trying to create a function that takes a string parameter that will indicate which $http.get to call. I would then like to assign that parameter in my scope. For example
$scope.getpartial = function(partialtype) {
var promise = "";
switch(partialtype) {
case "account":
promise = $http.get("account url here");
break;
case "contact":
promise = $http.get("contact url here");
break;
}
promise.then(function(payload) {
$scope.XXXXXXX = payload.data;
});
}
Where XXXXXXX = partialtype == "account" or "contact"
so the result would be placed and stored under $scope.account and/or $scope.contact.
Is this possible or is there a better way to do this?
Upvotes: 6
Views: 3751
Reputation: 104775
Since $scope
is just an object with properties, you can use bracket notation:
$scope[partialtype];
Upvotes: 7
Reputation: 5492
While this seems like it is possible, I would suggest creating a custom Angular service that encapsulates your logic for http requests. You could then include your service in your controller, and access the functions in your service.
Take a look at the Angular documentation for creating custom services here: Angular Documentation for Services
Upvotes: 0