My mistake
HTML
<div ng-controller="myCtrl">
<div> inject: {{injected}} </div>
<div> my_inject: {{my_inject}} </div>
</div>
JavaScript
var app = angular.module('myApp', ['mod1', 'mod2']);
var mod1 = angular.module('mod1', []);
var mod2 = angular.module('mod2', []);
app.controller('myCtrl', ['$scope', '$injector', 'test', function($scope, $injector, test) {
$scope.injected = test.data;
var inj = angular.injector(['mod1']);
$scope.my_inject = inj.get('test').data;
}]);
mod1.factory('test', function() {
return {
data: 1
};
});
mod2.factory('test', function() {
return {
data: 2
};
});