javascript 在另一个工厂 AngularJS 中使用工厂
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23115620/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Using a factory inside another factory AngularJS
提问by user1876246
I have a module...
我有一个模块...
angular.module('myModule', []);
And then a factory
然后是工厂
angular.module('myModule')
.factory('factory1', [
function() {
//some var's and functions
}
]);
And then another factory
然后是另一个工厂
angular.module('myModule')
.factory('factory2', [
function() {
//some var's and functions BUT I want to use some var's from factory1
}
]);
But I want to use some variables from factory1 inside factory2, how can I inject factory1 into factory2?
但是我想在 factory2 中使用 factory1 中的一些变量,如何将 factory1 注入 factory2?
回答by Dalorzo
This is what I would do:
这就是我会做的:
On Factory One
在工厂一
angular.module('sampleApp')
.factory('factory1', function() {
var factory1 = {};
factory1.method1 = function () {
return true;
};
factory1.method2 = function () {
return "hello";
};
return factory1;
}
);
On Factory Two
在二厂
angular.module('sampleApp')
.factory('factory2', ['factory1',
function(factory1) {
var factory2 = {};
factory2.method3 = function () {
return "bye vs " + factory1.method2();
};
return factory2;
}
]);
回答by Sacky San
This is what i did and worked fine. Call SessionPresenters from Session
这就是我所做的并且工作正常。从 Session 调用 SessionPresenter
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' }
});
});