2013-11-14 2 views

답변

2

각도는 모듈을 초기화하는 동안 코드를 실행할 수있게 해주는 두 가지 기능을 제공합니다. 먼저 초기화 중간에 config이 호출됩니다. 그런 다음 Angular가 초기화 된 후 run을 호출합니다. 따라서 run은 여러 언어로 제공되는 주 기능과 비교되는 경우가 많습니다. 기능을 시작하는 기능 (시작을 의미하는 "시작"또는 "실행 중")이 있기 때문입니다.

따라서, run 한 번만 불러 코드의 가장 우선적으로 실행된다. 인젝터를 만든 후 당신이 언급 한대로로 모든 서비스/제공을 삽입 할 수 있도록 config 달리가,라고 (config 후 제외) 그것들이 제공하는 전화 기능.

run이 너무 일찍 호출되었으므로 $scope에 주사 할 수 없으므로 rootscope 이외의 다른 스코프가 없으므로 $rootScope을 주입 할 수 있습니다. 이 때문에 (좋은 또는 나쁜 용) $rootscope에 설치 전역 변수에 일부 사용 runhttp://docs.angularjs.org/guide/module에서

의 :

  1. 구성 블록가 - 프로 바이더의 등록 동안 실행 얻을하고 구성 단계. 공급자와 상수 만 구성 블록에 을 주입 할 수 있습니다. 이는 서비스가 완전히 구성되기 전에 우발적 인 인스턴스화가 발생하지 않도록하기위한 것입니다.
  2. 실행 블록 - 인젝터가 생성되고 응용 프로그램을 킥 스타트하는 데 사용 된 후에 이 실행됩니다. 인스턴스 및 상수 만 블록에 주입 할 수 있습니다. 이는 응용 프로그램 실행 시간 동안 추가 시스템 구성을 방지하기위한 것입니다. 아무것도 가끔 인증에 사용되기 전에 run 이후

가 호출됩니다. 여기 config를 볼 수 있습니다 당신 독일인의 일을하는 예는 라우팅을 설정하는 데 사용됩니다의 다음 run 초기화하는 동안 설정되어야합니다 watch 만드는 등 일부 초기화 수행합니다 http://arthur.gonigberg.com/2013/06/29/angularjs-role-based-auth/

그래서, run 또는 config는 원 -에 대한 좋은를 특히 다른 코드가 실행되기 전에 초기화가 수행되도록하려면 실시간 초기화가 필요합니다.

+0

설명해 주셔서 감사합니다. – Martijn