在我的有角度的应用程序中,我试图建立一个dataAdapter
工厂,以便在开发和发布期间在local adapter
和api adapter
之间快速切换。
我的dataAdapter工厂看起来像这样
myApp.factory('dataAdapter', function($http, $q){
var dataAdapter = new apiAdapter;
//var dataAdapter = new localAdapter;
return dataAdapter;
});
和我的适配器对象(这里是api适配器)看起来像这样。 (这将位于另一个名为apiAdapter.js的文件中)
var apiAdapter = function(){
return {
getData : function(){ $http.get(). ....; }
}
}
现在这对我不起作用,因为$ http在
apiAdapter
对象中不可用。现在,如果我将var apiAdapter = function(){....}
移到var dataAdapter = new apiAdapter;
之前,则可以正常工作。有没有一种方法可以使角度适配器可用于apiAdapter而不在工厂中移动它?我希望,我能够清楚地描述我的问题。
最佳答案
分片这样的小功能真的没什么意义,所以我认为它看起来像
myApp.factory('dataAdapter', function($http, $q){
return {
getData : function(){ $http.get(). ....; }
}
});
但是如果由于某种原因必须这样做
myApp.factory('dataAdapter', function($http, $q){
var dataAdapter = new apiAdapter($http);
//var dataAdapter = new localAdapter;
return dataAdapter;
});
var apiAdapter = function(http){//
return {
getData : function(){ http.get(). ....; }
}
}