AngularJS 데이터 바인딩
- 이전 페이지 AngularJS 모델
- 다음 페이지 AngularJS 컨트롤러
AngularJS의 데이터 바인딩은 모델과 뷰 간의 동기화입니다.
과목 추천:
데이터 모델
예제
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstname = "Bill"; $scope.lastname = "Gates"; });
AngularJS 애플리케이션은 일반적으로 데이터 모델을 가집니다. 데이터 모델은 애플리케이션에 사용할 수 있는 데이터의 집합입니다.
HTML 뷰
AngularJS 애플리케이션의 HTML 컨테이너는 뷰로 불립니다.
뷰는 모델을 접근할 수 있으며, 모델 데이터를 뷰에서 표시할 수 있는 여러 가지 방법이 있습니다. ng-bind
지시어는 요소의 innerHTML을 지정된 모델 속성에 바인딩합니다:
예제
<p ng-bind="firstname"></p>
또한, 두 대括호를 사용할 수 있습니다 {{ }}
를 사용하여 모델의 내용을 표시할 수 있습니다:
예제
<p>First name: {{firstname}}</p>
또는, HTML 컨트롤에 ng-model
지시어는 모델을 뷰에 바인딩합니다.
ng-model 지시어
사용 ng-model
지시어는 모델의 데이터를 HTML 컨트롤(input, select, textarea)의 뷰에 바인딩합니다.
예제
<input ng-model="firstname">
ng-model
지시어는 모델과 뷰 간의 양방향 바인딩을 제공합니다.
양방향 바인딩
AngularJS의 데이터 바인딩은 모델과 뷰 간의 동기화입니다.
모델의 데이터가 변경될 때마다 뷰는 이러한 변경사항을 반영하고, 뷰의 데이터가 변경될 때마다 모델도 업데이트됩니다. 이는 즉각적이고 자동적으로 발생하여 모델과 뷰가 항상 업데이트되도록 보장합니다.
예제
<div ng-app="myApp" ng-controller="myCtrl"> 이름: <input ng-model="firstname"> <h1>{{firstname}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstname = "Bill"; $scope.lastname = "Gates"; }); </script>
AngularJS 컨트롤러
AngularJS 애플리케이션은 컨트롤러로 제어됩니다. 컨트롤러에 대한 내용은 AngularJS 컨트롤러 장에서 확인하세요.
모델과 뷰의 즉각적인 동기화로 인해 컨트롤러는 뷰와 완전히 분리되어 모델 데이터에만 집중할 수 있습니다. AngularJS의 데이터 바인딩 덕분에 뷰는 컨트롤러에서 수행된 모든 변경사항을 반영합니다.
예제
<div ng-app="myApp" ng-controller="myCtrl"> <h1 ng-click="changeName()">{{firstname}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstname = "Bill"; $scope.changeName = function() { $scope.firstname = "Nelly"; } }); </script>
- 이전 페이지 AngularJS 모델
- 다음 페이지 AngularJS 컨트롤러