반응형
Angular js 를 사용할 때 View에서 사용하는 scope 제어를 위해 Controller를 작성하고
기능별 모듈화한 Service를 작성한 다음 Controller에 주입하여 사용하게 됩니다.
1. Socket, $broadcast
이때 Service 에서 Controller를 호출해야하는 상황이 생길 수 있습니다.
WebSockets과 같은 경우인데, 이런경우 broadcast를 통해서 전체 앱에 이벤트를 시키고 필요한 파라미터를 같이 넘겨줍니다.
특정 scope을 전달하면 Service와 Controller간에 의존성을 가지므로 좋은 방법이 아니기 때문입니다.
이 이벤트를 처리해야하는 Controller에서 scope.on을 사용하여 해당 이벤트를 받으면 의존성 없이 서비스에서 이벤트 발생된 처리를 Controller에서 할 수 있습니다.
2. Provider
Angular js는 서비스로 구현되고 서비스 객체 생성은 프로바이더 객체가 수행합니다.
따라서 서비스 객체가 사용되기 전에 프로바이더 객체가 먼저 생성되어야합니다.
config
config는 프로바이더의 초기화 함수입니다.
config함수를 통해서 $routeProvider에서 설정을 수행하고, 이후 실행단계에서 설정을 바탕으로 $route 서비스가 생성되게 됩니다.
angular.module('myApp', [])
.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('!');
}]);
3. Factory
Factory는 서비스 객체를 제공하는 함수입니다.
Factory를 등록하는 코드는 아래와 같습니다.
angular.module("myApp").factory( "serviceName", function( ... ){
return serviceObject;
});
반응형
'Angular' 카테고리의 다른 글
Component & Module (0) | 2020.10.04 |
---|---|
기본 개념 (0) | 2020.10.02 |