a
AngularJS injector is key to making dependency injection work in Angular. The angular.injector() function is used to create injector object for dependency injection and services retrieving. Using injector, you can register factory, service and directive modules methods.Syntaxangular.injector(modules, [strictDi]);
function MyCtrl($scope, $injector) {$scope.doSomething = function(someService) {var service = $injector.get(someService) // someService contains the name of a serviceservice.value += 10 }
There is one injector per Angular application. Normally you don't need to interact with it directly. The injector is key to making dependency injection work in Angular.Module methods such as factory, service, directive, etc. register these items with the injector. When you inject something (e.g., a service into a controller), the injector will lookup and then instantiate the service (if it wasn't instantiated already -- if it was, it will return the already-instantiated object).If for some reason you really needed to dynamically inject a service into, say, a controller, see http://stackoverflow.com/a/14418384/215945 for an example of how to do that. See also http://stackoverflow.com/a/14743553/215945
An injector is a service locator. It is used to retrieve object instances as defined by provider, instantiate types, invoke methods and load modules.