如何扩展一个服务

20 浏览
0 Comments

如何扩展一个服务

我对angularjs还比较新,找不到任何关于此的文档或示例。我想要做的是扩展一个基本服务,以便我可以从其他服务中使用基本服务定义的方法。例如,假设我有一个基本服务如下:

angular.module('myServices', []).
    factory('BasicService', function($http){
        var some_arg = 'abcd'
        var BasicService = {
            method_one: function(arg=some_arg){ /*方法一的代码*/},
            method_two: function(arg=some_arg){ /*方法二的代码*/},
            method_three: function(arg=some_arg){ /*方法三的代码*/},
        });
        return BasicService;
    }   
);

现在我想定义一个扩展服务,扩展自上述的BasicService,以便我可以从我的扩展服务中使用在基本服务中定义的方法。可能是这样的:

    factory('ExtendedService', function($http){
        var ExtendedService = BasicService();
        ExtendedService['method_four'] = function(){/*方法四的代码*/}
        return ExtendedService;
    }

0