본문 바로가기

19. 의존관계 주입과 서비스 - 1 (서비스란?) [1]. 서비스의 개요 1. 스캇 앨런(K. Scott Allen)이 작성한 AngularJS 추상화 : 서비스란? 1) 어플리케이션 공통 로직으로서의 서비스 -컨트롤러, 지시자, 다른 서비스는 모두 특정 서비스의 하나 이상의 의존관계를 가질 수있거나 갖지 않을 수 있다. 즉, 서비스는 어플리케이션의 각 다른 부분에서 공통으로 사용하는 코드를 담기에 좋은 곳이라는 말이다. 가령 여러 컨트롤러에서 특정 계산 알고리즘을 필요로 한다면 해당 알고리즘을 구현한 코드가 있는 서비스를 만들어 해당 알고리즘을 필요로하는 컨트롤러가 이 서비스를 사용하면 되는 것이다. 2) 싱글톤(Singleton)으로서의 서비스 - AngularJS는 서비스를 싱글톤으로 관리한다. 즉, 어플리케이션에서 서비스의 인스턴스를 오직 하나만.. 더보기
18. 지시자 - 2 (사용자 정의 지시자) 1. 사용자 정의 지시자 개요 - AngularJS는 지시자를 이용해 웹 UI 컴포넌트를 만들 수 있는 메커니즘을 제공한다.우리가 만드는 UI 컴포넌트는 양방향 데이터 바인딩을 제공할 수도 있고 도메인에 특화된 HTML태그를 구성할 수도 있다.가령 다음과 같은 태그를 만들 수도 있다.패널 1hello 패널 1 패널 2hello 패널 22. 간단한 지시자 정의 으로 작성하면 화면에 name 속성의 값을 대상으로 인사말을 보여주는 간단한 지시자를 만들 수 있다. - 위 예제 코드를 보듯이 directive 메서드는 첫번째 인자로 지시자의 이름을 요구한다.지시자 이름은 나타표기법으로 작성해야 한다.그 다음으로 지시자 설정함수를 줄 수 있는데 이 함수에서 다른 서비스의 주입을 받고 싶을 때는 서비스 이름으로 인.. 더보기
17. 지시자 웹 표준 준수 대비 및 오래된 인터넷 익스플로러 지원하기 1. 지시자 웹 표준 준수 대비 - AngularJS의 지시자를 사용하면 웹 표준을 준수하지 않았다는 결과를 얻게 되는데 AngularJS에서는 이를 위한 별도의 방법을 제공한다. - 바로 x- 또는 date-를 사용할 지시자 앞에 붙이는 것이다. 예를 들면 ng-click 을 사용할 때 x-ng-click 또는 data-ng-clic으로 사용한다. 이렇게 사용하면 웹 표준 준수에서 좋은 결과를 얻을 수 있다. 2. 오래된 인터넷 익스 플로러 지원하기 - IE7이나 IE8과 같은 오래된 브라우저에서는 요소명으로 호출하려면 다음 코드와 같이 AngularJS가 템플릿을 컴파일하기 이전에 해당 요소명(DOM)이 생성돼야한다. 더보기