最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - AngularJS pass a scope variable name as a function parameter - Stack Overflow

programmeradmin4浏览0评论

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?

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?

Share Improve this question asked Dec 29, 2014 at 22:28 JustinJustin 1371 gold badge3 silver badges10 bronze badges 2
  • This totally works, although it may not be best practice to use this method, in our SPA this is what we need. I don't know hot to mark this as an answer since this is a ment. – Justin Commented Dec 30, 2014 at 16:33
  • I posted a quick answer - was on mobile at the time when I mented. – tymeJV Commented Dec 30, 2014 at 16:40
Add a ment  | 

2 Answers 2

Reset to default 7

Since $scope is just an object with properties, you can use bracket notation:

$scope[partialtype];

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

发布评论

评论列表(0)

  1. 暂无评论