본문으로 바로가기

AngularJS 소개

category 웹/AngularJS 2019. 2. 14. 23:57

AngularJS

 

AngularJS자바스크립트 프레임워크입니다.

 

자바스크립트로 작성된 라이브러리입니다.

 

지시어로 HTML 속성들을 확장하는 역할을 합니다.

 

표현식인 {{}}으로 데이터를 HTML로 바인딩을 합니다.

 

이를 이용하기 위해서는 <script> 태그로 명시해주면 됩니다.

 

웹페이지가 처음 로드가 될 때 자동으로 적용이 됩니다.

 

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

 

를 추가해줍시다.

 

AngularJS의 HTML 확장

 

HTML의 확장 기능을 가진다고 했습니다.

 

  • ng-app 은 응용프로그램을 정의해줍니다.
  • ng-model 은 HTML 컨트롤 값을 응용프로그램 데이터로 결합합니다.
  • ng-bind는 view의 역할을 합니다.

간단한 예를 봅시다.

 

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="">
  <p>Name: <input type="text" ng-model="name"></p>
  <p ng-bind="name"></p>
</div>

</body>
</html> 

 

=>ng-app은 <div>가 AngularJs 응용프로그램의 오너라는 뜻입니다. 즉 쓰겠다?? 라는 표현이겠죠.

 

 

=>ng-model은 응용프로그램 변수 name으로 입력 필드의 값을 바인드한다는 뜻입니다.

 

=>ng-bind는 바인드한 name을 보여주는(view)것을 뜻합니다. 즉 <p>의 내용을 바인드합니다.

 

그리고 ng-init을 쓰면 응용프로그램으로 변수 값을 초기화 시켜줍니다.

 

예를 들어

 

<div ng-app="" ng-init="firstName='John'">

<p>The name is <span ng-bind="firstName"></span></p>

</div>

 

=> ng-init에 firstName변수를 John으로 초기화 시켜주고 ng-bind로 firstName을 보여줄 수 있겠죠.

 

대체용어로 ng앞에 data를 추가할 수 있습니다. data-ng-app 등등...

 

 

AngularJS의 표현식

 

표현식은 이중괄호인 {{}}을 써줍니다.

 

데이터를 출력해주는 역할을 하죠.

 

예를 들어

 

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="">
  <p>My first expression: {{ 5 + 5 }}</p>
</div>

</body>
</html>

 

=>{{ 5 + 5 }} 은 10을 계산하여 데이터를 출력합니다.

 

 

즉 ng-bind와 동일합니다.

 

아까 위에서 했던 예에서 바꿔주면

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="">
  <p>Name: <input type="text" ng-model="name"></p>
  <p>{{name}}</p>
</div>

</body>
</html>

 

 

=>ng-bind을 표현식으로 나타낼수 있겠습니다.

 

AngularJS 응용프로그램

 

여기엔 AngularJS 모듈이 있고 컨트롤러가 있습니다.

 

컨트롤러가 백앤드쪽에 있지만 프론트앤드에도 있습니다.

 

모듈은 어플리케이션들을 정의하고 컨트롤러는 제어를 하게되는거죠.

 

ng-appng-controller

 

예를 들어

 

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.firstName= "John";
  $scope.lastName= "Doe";
});
</script>

 

=>ng-app으로 myApp을 정의해주고 ng-controller로 myCtrl이란 컨트롤러로 지정해줍니다.

 

=>입력 필드는 마찬가지로 ng-model로 변수를 바인드해주고 표현식으로 출력해줍니다.

 

=> 여기서 모듈 정의는 var app = angular.module('myApp', []); 으로 해줍니다.

 

=> 이에 맞는 컨트롤러는 이를 제어하게 됩니다.

 

=> 즉 app.controller으로 지정된 모듈을 제어하게 됩니다.

 

=> 위 예에서 바인드한 firstName과 lastName에 John 과 Doe가 들어가서 출력이 먼저 되겟죠.

 

간단하게 AngularJS의 소개를 마쳤습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

' > AngularJS' 카테고리의 다른 글

AngularJS 모델  (0) 2019.02.20
AngularJS directives  (0) 2019.02.19
AngularJS 모듈  (0) 2019.02.18
AngularJS 표현식  (0) 2019.02.16