0
我正在通過以下this gitcode和google ng-conf爲我的應用程序創建API提供程序。但是這是在我的應用程序重寫$ routeProvider。正如我在控制檯中檢查$ routeProvider(在應用程序配置中),它只給我我的apiProvider的實例。這是爲什麼發生? $ routeProvider和apiProvider如何同時使用?請參考this gitcode和下面的代碼..自定義Api提供程序
websiteApp.provider('customApi',
function() {
var baseRoute = '';
this.endpoints = {};
this.setBaseRoute = function(route) {
this.baseRoute = route;
};
this.endpoint = function(name) {
var endpointConfig = new ApiEndpointConfig();
this.endpoints[name] = endpointConfig;
return endpointConfig;
};
this.$get = ['$injector', function($injector) {
console.log("$get");
var api = {};
var self = this;
angular.forEach(this.endpoints,
function(endpointConfig, name) {
api[name] = $injector.instantiate(ApiEndpoint, {
baseRoute: self.baseRoute,
endpointConfig: endpointConfig
});
});
return api;
}];
});
websiteApp.config(['FacebookProvider', 'customApiProvider', '$routeProvider',
function ($routeProvider, customApiProvider, FacebookProvider) {
customApiProvider.setBaseRoute('/api/v0/');
$routeProvider
.when('/search',
{
templateUrl: 'assets/angular/widgets/partials/search.html'
})
.when('/',
{
templateUrl: 'assets/angular/widgets/partials/recommendations.html'
});
var myAppId = APPID;
FacebookProvider.setAppId('myAppId');
FacebookProvider.init(myAppId);
}]);
爲什麼如果你想同時運行兩個你想創建第二個? – Dalorzo
我沒有正確理解你。我想你在問我爲什麼同時需要他們兩個。原因是:apiProvider可以讓代碼看起來乾淨並且可以管理apis。雖然我需要一個$ routeProvider來路由模板。除此之外,我需要一個我正在使用的第三方應用程序所需的FacebookProvider。但FacebookProvider和$ routeProvider都被apiProvider覆蓋。 –
爲什麼服務或工廠不幫你?爲什麼你認爲你需要重塑一項服務? – Dalorzo