본문 바로가기

JavaScript/AngularJs

[AngularJs] 앵귤러 JS

구글에서 구축하는 jQuery 를 능가할 수 있을지는 모르겠지만..

데이터 바인딩에 연동되는 Angular Js 를 접하게 되었습니다.

앵귤러 JS 를 공부해 보아요! ^-^

 

일단은 사이트를 간략하게 알아 봅시다.

 

앵귤러 사이트 : http://angularjs.org/

 

Home 화면입니다 ^^

 

 

1차 Depth 는 Learn, Develop, Discuss 항목이 있네요.

 

그중에도 우리는 개발자 이.기.에!!!!!!! Script API 가 어디있는지만 잘 알아 두면 되어요.

Develop 항목안에 API Reference 가 있습니다.

 

뭐 다른것들은 시간이 남으면 천천히 둘어 보아요~ ^^

 

* AngularJs 의 기본 형태

 

- 특징 -

html 태그 안에 ng-app 라는 속성이 포함되어 있다는 점,

AngularJs 를 로드 한다는 점.

{{ }} 로 감싸진 Angular 표현식이 존재한다는 점.

 

- 양방향 데이터 바인딩 구현,

- 자바스크립트 상에서 MVC 모델을 구현,

- 다이렉티브로 태그를 커스터마이징 가능

 


* Angular JS Loading 과정

 

ng-app 지시어를 통해 AngularJS 의 로딩은 대부분 매우 쉽고 간편하게 이루어진다.

일부의 경우 스크립트 로더를 사용하는 형태로 수동적으로 어플리케이션으로 시작 할 수 있다.

 

세가지 매우 중요한 과정이 어플리케이션의 로딩 중에 일어나게 된다.

 

1. dependency injection 을 위해 사용되는 인젝터가 생성된다.

2. 인젝터는 어플리케이션의 모델을 위한 컨텍스트가 되는 루트 스코프를 생성한다.

3. 앵귤러는 그 이후에 ng-app 의 루트 요소로부터 시작점을 삼아 하위요소들을 "컴파일" 한다.

 

한번 어플리케이션이 로딩되고 나면 프라우저에서 어떤 이벤트 (마우스클릭, HTTP 응답, 키 입력 등 ) 가 입력될 때까지 기다리게 된다.

이런 이벤트가 일어나게 되면 앵귤러는 이벤트를 인지하고 이 이벤트가 어떤 모델이든 변경시키고 또 그 변화된 것을 찾게되면 앵귤러는 영향을 반영한 뷰를 리플렉트 하게 된다.

 

어플리케이션의 구조는 매우 간단하다.