J'ai un module ...
angular.module('myModule', []);
Et puis une usine
angular.module('myModule')
.factory('factory1', [
function() {
//some var's and functions
}
]);
Et puis une autre usine
angular.module('myModule')
.factory('factory2', [
function() {
//some var's and functions BUT I want to use some var's from factory1
}
]);
Mais je veux utiliser certaines variables de factory1 dans factory2, comment puis-je injecter factory1 dans factory2?
Voici ce que je ferais:
Sur Factory One
angular.module('sampleApp')
.factory('factory1', function() {
var factory1 = {};
factory1.method1 = function () {
return true;
};
factory1.method2 = function () {
return "hello";
};
return factory1;
}
);
Sur l'usine deux
angular.module('sampleApp')
.factory('factory2', ['factory1',
function(factory1) {
var factory2 = {};
factory2.method3 = function () {
return "bye vs " + factory1.method2();
};
return factory2;
}
]);
C'est ce que j'ai fait et a bien fonctionné. Appelez SessionPresenters depuis Session
angular.module('tryme3App')
.factory('Session', function ($resource, DateUtils, SessionPresenters) {
return $resource('api/sessions/:id', {}, {
'query': { method: 'GET', isArray: true},
'get': {
method: 'GET',
transformResponse: function (data) {
data = angular.fromJson(data);
var result = SessionPresenters.get({id: data.id})
data.presenters = result;
return data;
}
},
'update': { method:'PUT' }
});
}).factory('SessionPresenters', function ($resource, DateUtils) {
return $resource('api/session.Presenters/:id', {}, {
'query': { method: 'GET', isArray: true},
'get': {
method: 'GET', isArray: true
},
'update': { method:'PUT' }
});
});