2012-05-01 80 views
2

Angular中的所有DI文檔似乎都基於這樣的想法,即在代碼生成時以及在運行自動化測試時希望系統實現服務,幾個模擬實現。不,我有幾個依賴項的工作實現,我想選擇一個(通常基於URL)。我怎麼做?在生產中的Angularjs中依賴項之間進行選擇

回答

3
  1. 將你的依賴關係放到單獨的模塊中。富勒例如serviceA.impl1和serviceA.impl2
  2. 創建應用程序級別的模塊,但添加依賴基於URL
 
angular.module('impl1', []).... 
angular.module('impl2', []).... 

var deps = []; 
if (location.match(...) { 
    deps.push('impl1') 
} else { 
    deps.push('impl2') 
} 

angular.module('myApp', deps); 

然後在您的index.html做

 
    <html ng-app="myApp"> 
+0

謝謝,MISKO。一旦我寫了第一個模塊(大約10分鐘前),該解決方案就不可避免了。 – Malvolio