AngularJS Service이해하기
4월 12, 2017
In Javascript |
개념
서비스는 여러 함수적인 기능을 수행하는 컨트롤러와는 다르게 하나의 객체를 리턴하는 형태가 주를 이룬다.
컨트롤러는 $scope
상의 모델을 조작하거나 UI와 밀접하게 여러 기능들을 수행하는 반면 서비스는 자체가 싱글톤이라는 특성을 사용하여 컨트롤러간의 통신을 제어하거나, 리소스 접근 권한을 가진 객체를 리턴하여 컨트롤러에서 필요한 처리하게 된다.
예제
Javascript
<script>
var myApp = angular.module('myApp', []);
myApp.controller('HelloCtrl', function ($scope, HelloService, HelloFactory){
$scope.title = 'Hello';
// service 함수 선언
$scope.addWorldService = function(){
$scope.title = HelloService.addWorld($scope.title);
};
});
myApp.service('HelloService', function(){
this.addWorld = function(title){
return title + " world";
};
});
</script>
HTML
<body>
<div ng-app="myApp">
<div ng-controller="HelloCtrl">
<h1>{{title}}</h1>
<br/>
<button ng-click="addWorldService()">via service</button>
</div>
</div>
</body>