Angular Dynamic Factory Example

Getting a dynamically generated factory

by Jeremy Likness

HTML

<div ng-app="myApp" ng-controller="myController">
    {{service1}}
    {{service2}}
</div>

JavaScript

var app = angular.module("myApp", []),
    makeService = function(module, identifier) {
        module.factory(identifier+'-service', function() {
            return function() {
                return identifier;
            };
        });
    };

makeService(app, 'ex1');
makeService(app, 'ex2');

app.controller("myController", ['ex1-service', 
                                '$injector',
                                '$scope',
                                function(service, $injector, $scope) {
    $scope.service1 = service();   
    $scope.service2 = $injector.get('ex2-service')();
}]);