我对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;
}
完美的感谢,绝对是我一直在寻找。 – Amyth 2013-03-19 13:55:08
如果我们认为BasicService是抽象的,我是否认为这是最好的方法?因为那样我们就永远不会真的使用BasicService,只有扩展服务,所以文学扩展它没有问题。 – Floris 2015-07-14 14:04:37
这个方法真的好吗?鉴于服务是单身人士,这意味着BasicService上的更改将是永久性的,所以BasicService也将被更改。创建BasicService的副本并返回该副本的扩展版本不是更好吗? – Razvan 2016-02-05 11:21:28