2014-04-27 538 views
0

我正在通過以下this gitcodegoogle 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); 
}]); 
+0

爲什麼如果你想同時運行兩個你想創建第二個? – Dalorzo

+0

我沒有正確理解你。我想你在問我爲什麼同時需要他們兩個。原因是:apiProvider可以讓代碼看起來乾淨並且可以管理apis。雖然我需要一個$ routeProvider來路由模板。除此之外,我需要一個我正在使用的第三方應用程序所需的FacebookProvider。但FacebookProvider和$ routeProvider都被apiProvider覆蓋。 –

+0

爲什麼服務或工廠不幫你?爲什麼你認爲你需要重塑一項服務? – Dalorzo

回答

1

如果寫入精縮,而不是使用ngmin參數順序必須與字符串順序相匹配安全的代碼。

相關問題