2013-05-28 3 views
3

각도 코드를 다른 모듈로 나눠서 문제가 있습니다. 나는 서비스 주입의 내부를 이해하지 못한다고 생각한다. 컨트롤러에서가는

내가 $ routeParams 서비스를 잃고 결국 모듈

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

의 일부로을하기 위해 선언적 형태로 전역 함수

angular.module('foo', []); 
function fooCtrl($scope, $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'로 축소 되어도 함수의 첫 번째 매개 변수라는 것을 알고 있습니다. –

관련 문제