我對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