2014-10-09 4 views
2

나는 각도 배우고 및 $ 범위가 전달 된 이유가 물었을 때 바로 컨트롤러에 대한 동료에게 설명했다 두 번각도 범위, 범위?

['$scope', function($scope) { 

사람이 우리를 계몽 할 수 있습니까?

myApp.controller('appList', ['$scope', function($scope) { 
     $scope.things = [ 
      { 
       "name":"Cheese", 
       "id":"1", 
       "short-name":"ch" 
      }, 
      { 
       "name":"Bread", 
       "id":"2", 
       "short-name":"br" 
      }, 
      { 
       "name":"Wine", 
       "id":"3", 
       "short-name":"wi" 
      } 
     ]; 
    }]); 

우리가 작성한이 예제는 지나치게 간단합니다.

+2

https://docs.angularjs.org/guide/di#inline-array-annotation 및 https://docs.angularjs.org/tutorial/step_05#a-note-on-minification – JoseM

답변

1

배열을 전달할 필요가 없습니다. 당신이 그렇게 당신을의 minifyer이 가능한 코드를 작게 할 것들의 이름을 변경하는 것이 가장 좋습니다 할 것이

['$scope', function($scope) { 

같은 코드, 즉 매개 변수가 포함 작게를 때, 그것이 AngularJS tutorial에서 언급 한 것, 축소를 함께 할 수있다 코드의 라인은 이제 $scope 매개 변수가 변경되었습니다

['$scope',function(a){ 

예를

이 같이 끝날 수 있지만, AngularJS와는 여전히 이름 $scope하지 a 주입 뭔가를 원하는 것을 알고있다. 이 목록을 직접 작성하지 않고 코드를 축소하지 않으면 AngularJS는 함수 매개 변수 목록을 읽을 수 없으며 사용자 (사용자의 경우) 컨트롤러에 무엇을 주입해야하는지 알 수 없습니다.

거기에 tool that automate this listing가 있습니다. 사용하고있는 빌드 도구와 통합하여 종속성을 문자열로 명시 적으로 나열하는 전체 프로세스를 자동화하고 축소 할 수 있습니다.