我有一个对象reportsService,对于它所做的每次调用,它都会初始化一个名为serviceCall的新对象。每个方法都需要实例化它自己的serviceCall实例。
使用$ injector.get()正确的方法吗?
app.factory('reportsService', ['$injector', function ($injector) {
var o = {};
o.getServiceCall = function () {
return $injector.get('serviceCall');
};
o.getOriginCompositionData = function (ajaxOptions) {
ajaxOptions.url = '/test/SpiderRequestOriginComposition';
o.getServiceCall().initialize(ajaxOptions);
};
o.getExeuctionTimeData = function (ajaxOptions) {
ajaxOptions.url = '/test/SpiderRequestExeuctionTime';
o.getServiceCall().initialize(ajaxOptions);
};
o.getCacheCompositionData = function (ajaxOptions) {
ajaxOptions.url = '/test/SpiderRequestCacheComposition';
o.getServiceCall().initialize(ajaxOptions);
};
return o;
}]);
答案 0 :(得分:2)
您可以简单地在(或我猜测而不是)“$ injector”之后注入第二个名为“serviceCall”的参数并使用它。它将在关闭时捕获并可从任何“o”函数中使用。