2015-10-19 2 views
0

я очень новичок в AngularJS, как я могу передать входной объем от первого контроллера ко второму контроллеру для данных $ scope.requestURL

Я поиск об услуге но я понятия не имею, как его применять.

.controller('ZipController', ['$scope', function($scope) { 
    $scope.zipCode = '10028'; 

    $scope.setURL = function() { 
    $scope.requestURL = 'http://congress.api.sunlightfoundation.com/legislators/locate?zip=' + $scope.zipCode + '&apikey=xxxxx'; 
    }; 

    }]) 

    .controller('ListController', ['$scope', '$http', 
    function($scope, $http) { 
    $http.get($scope.requestURL).success(function(data) { 
    console.log(data.results); 
    $scope.congress = data.results; 
    }); 
    }]); 
+0

Say что вы пытаетесь сделать, не говоря о коде, чтобы мы могли лучше понять вашу проблему. –

+0

Пожалуйста, просто найдите время, чтобы узнать, как пользоваться услугами. Они действительно помогают организовать и инкапсулировать ваш код. Поддержание работоспособности и разделение проблем и всего этого джаза. – ryanyuyu

+0

Привет, Стив, мне просто нравится знать, как обычно URL-запрос собирается из поля ввода и входит в & http-запрос –

ответ

0

Попробуйте установить его в $ rootScope.requestURL и получить к нему доступ со второго контроллера.

1

Вот быстрое решение: ..you не должен использовать основные службу $ HTTP для вашего случая:

Вы также можете прочитать больше о постоянной службе угловой .. В

(function(angular) { 
    var app = angular.module('myServiceModule', []); 
    app.controller('ZipController', function($scope, myService) { 
     $scope.zipCode = '10028'; 
     myService.setFunc($scope.zipCode); 
     myService.zipCode = $scope.zipCode; 
    }); 
    app.controller('ListController', function($scope, myService) { 
     $scope.requestURL = myService.getFunc(); 
    }); 
    app.factory('myService', function() { 
     var zipCode; 
     var setFunc = function(zip) { 
      zipCode = zip; 
     }; 
     var getFunc = function() { 
      return 'http://congress.api.sunlightfoundation.com/legislators/locate?zip=' + zipCode + '&apikey=xxxxx' 
     }; 
     return { 
      zipCode: zipCode, 
      setFunc: setFunc, 
      getFunc: getFunc 
     }; 
    }); 
})(window.angular); 
+0

благодаря Pro ... Я попробую этот код ... Я немного медленный, ваш код должен дать мне проницательность. –

+0

вы должны принять его, если это подходящее решение для вас – pro

Смежные вопросы