2013-05-28 40 views
3

我在不同的模塊中分割我的角碼,並且遇到了問題。我想我不明白服務注入的內部。

從控制器會以它們作爲中端模塊

angular.module('foo',[]). 
controller(['fooCtrl', function($scope, $routeParams) { 

的部分定義爲全局函數

angular.module('foo', []); 
function fooCtrl($scope, $routeParams) { 

以聲明的形式我失去了$ routeParams服務(未定義)。我需要顯式注入我的$ routeParams到模塊嗎?我該怎麼做?

回答

6

看起來好像你沒有正確地撥打controller()

angular.module('foo',[]). 
controller("fooCtrl", <-- controller name 
    ['$scope', '$routeParams', <-- list of dependencies 
    function($scope, $routeParams) { <--actual controller function 
     alert($routeParams); 
}]); 

Example on jsfiddle

如果你沒有做微小規劃你也可以做到以下幾點:

angular.module('foo',[]).controller("fooCtrl", function($scope, $routeParams) { 
}); 
+0

工程就像一個魅力,將接受時,我可以(5分鐘延時)。這是以這種方式完成的,所以我可以稍後再混淆代碼? –

+0

這是正確的,所以Angular知道'$ scope'是函數中的第一個參數,即使它被縮小爲'a' –