我该如何扩展服务
我还很陌生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