我该如何扩展服务

我还很陌生angularjs,因此无法找到任何文档或示例。我要做的是扩展基本服务,以便可以使用其他服务在基本服务下定义的方法。例如,说我有如下基本服务。

angular.module('myServices', []).

factory('BasicService', function($http){

var some_arg = 'abcd'

var BasicService = {

method_one: function(arg=some_arg){ /*code for method one*/},

method_two: function(arg=some_arg){ /*code for method two*/},

method_three: function(arg=some_arg){ /*code for method three*/},

});

return BasicService;

}

);

现在,我想定义一个从上述扩展的扩展服务,BasicService以便可以使用扩展服务中BasicService下定义的方法。也许像这样:

    factory('ExtendedService', function($http){

var ExtendedService = BasicService();

ExtendedService['method_four'] = function(){/* code for method four */}

return ExtendedService;

}

回答:

ExtendedService应该注入BasicService以便能够访问它。旁边BasicService是对象文字,因此您实际上不能将其称为函数(BasicService())。

.factory('ExtendedService', function($http, BasicService){

BasicService['method_four'] = function(){};

return BasicService;

}

以上是 我该如何扩展服务 的全部内容, 来源链接: utcz.com/qa/400422.html

回到顶部