2014-05-17 2 views
0

이 둘은 같은가요?AngularJS 컨트롤러를 선언하는 두 가지 방법의 차이점은 무엇입니까?

후자는 컨트롤러를 작성하기위한 "약식"입니까?

angular.module("root", []) 
.controller("index", ["$scope", function ($scope) { 
    // .. 
}]); 

angular.module("root", []) 
.controller("index", function ($scope) { 
    // .. 
}); 

대 감사합니다!

+0

이 질문은 여기에 대한 답변 http://stackoverflow.com/questions/13362921/globally-defined-angularjs-controllers-and-encapsulation – JoakimB

답변

1

이름을 문자열로 복제하면 (사람들이 property annotation이라고 함) 맹 글링 (mangling)으로부터 보호 할 수 있습니다. JavaScript minifier는 종종 변수 이름을 괴롭히기 때문에 Angular가 종속성을 이름으로 검색하여 삽입 할 수 없습니다. 매글 링은 문자열에 영향을 미치지 않으므로 주석이 달린 경우 인젝터가 문자열을 계속 볼 수 있습니다.

당신이 절대적으로 귀하의 코드가 맹 글링되지 않을 것이라는 확신이 있다면 속성 주석을 삭제할 수 있습니다. 누군가와 협업 중이거나 도서관을 쓰고 있다면 그것을 사용하십시오.

관련 문제