강좌 & 팁
글 수 2,412
2014.12.12 10:16:47 (*.134.169.166)
73597
02. Controller : http://forum.falinux.com/zbxe/index.php?document_srl=804950
03. controller 사이의 데이터 공유 : http://forum.falinux.com/zbxe/index.php?document_srl=805325
이번에는 controller안에 메소드를 만들어서 진정한 "controller"의 모습을 갖추어보도록 하겠습니다.
public/javascripts/main.js 를 다음과 같이 수정합니다.
var firstApp = angular.module('FirstApp', []);
firstApp.factory('Data', function() {
return {message: "I'm data from a service"}
});
firstApp.controller('FirstCtrl', function($scope, Data) {
$scope.data = Data;
});
firstApp.controller('SecondCtrl', function($scope, Data) {
$scope.data = Data;
$scope.reversedMessage = function (message) {
return message.split("").reverse().join("");
};
});
그리고 public/index.html을 다음과 같이 수정합니다.
<!DOCTYPE html>
<html>
<head>
<title>Binding</title>
</head>
<body>
<div ng-app="FirstApp">
<div ng-controller="FirstCtrl">
<input type="text" ng-model="data.message">
<h1>{{data.message}}</h1>
</div>
<div ng-controller="SecondCtrl">
<input type="text" ng-model="data.message">
<h1>{{reversedMessage(data.message)}}</h1>
</div>
</div>
<script type="text/javascript" src="components/angularjs/angular.js"></script>
<script type="text/javascript" src="javascripts/main.js"></script>
</body>
</html>브라우저를 열어서 확인하면 아래에 출력되는 글은 거꾸로 출력이 되는 것을 확인할 수 있습니다.
이와 같이 controller에는 비즈니스 로직을 구현하여 모델에서 정보를 가져와서 뷰에 출력하기 위한 형태로 가공을 할 수 있습니다.


