angularjs - Unable to inject $http into a factory -
angularjs - Unable to inject $http into a factory -
i'm trying inject $http
factory
i'm getting error:
error: unknown provider: $httpprovider <- $http <- utilservice
here factory
code:
var util = angular.module('util', []) .factory('utilservice', ['$http', function($http) { homecoming { translate: function(objects, prop) { var keys = objects.map(function(o) {return o[prop];}); $http({method: 'post', url: 'http://localhost:8080/rest/messages', data: keys}). success(function(data, status, headers, config) { homecoming objects.map(function(o, rank) {return {'value': data[rank], 'object': o}}); }); } }; }]);
the code of controller utilize service:
var app = angular.module('recordcontroller', ['ui.bootstrap','dialogs', 'util']); function records($scope, $http, $rootscope, $timeout, $dialogs) { var utilservice = angular.injector(['util']).get('utilservice'); $scope.showform = false; $scope.states= []; $scope.toggleform = function() { $scope.showform = !$scope.showform; if($scope.showform) { if(!$scope.states.length) { $http({method: 'get', url: 'http://localhost:8080/rest/records/state'}). success(function(data, status, headers, config) { $scope.states = utilservice.translate(data, 'state'); }); } } }; ... };
and html
:
<div ng-app='recordcontroller'> <div ng-controller='records' > ... </div> </div>
is wrong it? have been searching insight in stackoverflow , google couldn't find hint what's wrong.
i haven't tested of believe problem can fixed in multiple ways:
1use angular.module('util', ['ng'])
instead of angular.module('util', [])
.
use app.get('utilservice')
instead of angular.injector(['util']).get('utilservice')
.
get rid of var utilservice = angular.injector(['util']).get('utilservice');
, add together utilservice
lastly parameter of records
function. i'm not sure works don't utilize form of declaration.
if #3 works, utilize that, if not utilize #2. utilize #1 if have to.
also, did not post part of code records
used, create sure using array notation dependencies otherwise you'll have issues when mangling code uglifyjs or similar too.
angularjs
Comments
Post a Comment