2013-06-20 128 views
1

當我縮小我的AngularJS應用程序時,我一直在收到錯誤,因爲手動注入的依賴項不能正常工作。以下沒有工作:如何在angularjs中的app.config中注入依賴關係?

var config = app.config(function($routeProvider) { 
    $routeProvider 
     .when('/', {controller: 'PageCtrl', templateUrl: '../templates/home.html'}); 
     .otherwise({redirectTo: '/'}); 
}); 
config.$inject = ['$routeProvider']; 

奏效的唯一事情是:

app.config(['$routeProvider', function($routeProvider) { 
    ... 
}]); 

爲什麼對控制器第一依賴注射技術工作,但不是CONFIGS?

回答

2

這是因爲app.config返回對應用的引用(用於鏈接)。此代碼的工作:

var config = function($routeProvider) { 
    $routeProvider 
     .when('/', {controller: 'PageCtrl', templateUrl: '../templates/home.html'}) 
     .otherwise({redirectTo: '/'}); 
}; 

config.$inject = ['$routeProvider']; 
app.config(config); 

http://jsfiddle.net/ADukg/3196/

+0

我是在底部的線條如此迷戀,我花了一段時間來實現你替換標準函數的聲明'app.config'。 – Soviut

相關問題