AngularJS Scope 3
AngularJS Scope
범위는 HTML (보기)와 JavaScript (컨트롤러) 간의 바인딩 부분입니다.
범위는 사용 가능한 속성 및 메서드가있는 객체입니다.
범위는 뷰와 컨트롤러 모두에서 사용할 수 있습니다.
귀하의 범위를 아십시오.
언제든지 어떤 범위를 다루고 있는지 파악하는 것이 중요합니다.
위의 두 예제에는 하나의 범위 만 있으므로 범위를 아는 것은 문제가되지 않지만 큰 응용 프로그램의 경우 HTML DOM에 특정 범위에만 액세스 할 수있는 섹션이있을 수 있습니다.
예
ng-repeat지시어를 처리 할 때 각 반복은 현재 반복 객체에 액세스 할 수 있습니다
<div ng-app="myApp" ng-controller="myCtrl">
<ul>
<li ng-repeat="x in names">{{x}}</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = ["Emil", "Tobias", "Linus"];
});
</script>
전체소스
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<ul>
<li ng-repeat="x in names">{{x}}</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = ["Emil", "Tobias", "Linus"];
});
</script>
<p>The variable "x" has a different value for each repetition, proving that each repetition has its own scope.</p>
</body>
</html>
각 <li>요소는 현재 반복 객체에 액세스 할 수 있습니다.이 경우에는 using으로 참조되는 문자열 x입니다.
루트 범위
모든 응용 프로그램에는 지시문 $rootScope이 포함 된 HTML 요소에서 작성된 범위가 있습니다 ng-app.
rootScope는 전체 응용 프로그램에서 사용할 수 있습니다.
변수가 현재 범위와 rootScope에서 동일한 이름을 갖는 경우 응용 프로그램은 현재 범위에있는 변수를 사용합니다.
예
"color"라는 변수는 컨트롤러 범위와 rootScope에 존재합니다 :
<body ng-app="myApp">
<p>The rootScope's favorite color:</p>
<h1>{{color}}</h1>
<div ng-controller="myCtrl">
<p>The scope of the controller's favorite color:</p>
<h1>{{color}}</h1>
</div>
<p>The rootScope's favorite color is still:</p>
<h1>{{color}}</h1>
<script>
var app = angular.module('myApp', []);
app.run(function($rootScope) {
$rootScope.color = 'blue';
});
app.controller('myCtrl', function($scope) {
$scope.color = "red";
});
</script>
</body>
전체소스
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body ng-app="myApp">
<p>The rootScope's favorite color:</p>
<h1>{{color}}</h1>
<div ng-controller="myCtrl">
<p>The scope of the controller's favorite color:</p>
<h1>{{color}}</h1>
</div>
<p>The rootScope's favorite color is still:</p>
<h1>{{color}}</h1>
<script>
var app = angular.module('myApp', []);
app.run(function($rootScope) {
$rootScope.color = 'blue';
});
app.controller('myCtrl', function($scope) {
$scope.color = "red";
});
</script>
<p>Notice that controller's color variable does not overwrite the rootScope's color value.</p>
</body>
</html>
범위는 HTML (보기)와 JavaScript (컨트롤러) 간의 바인딩 부분입니다.
범위는 사용 가능한 속성 및 메서드가있는 객체입니다.
범위는 뷰와 컨트롤러 모두에서 사용할 수 있습니다.
귀하의 범위를 아십시오.
언제든지 어떤 범위를 다루고 있는지 파악하는 것이 중요합니다.
위의 두 예제에는 하나의 범위 만 있으므로 범위를 아는 것은 문제가되지 않지만 큰 응용 프로그램의 경우 HTML DOM에 특정 범위에만 액세스 할 수있는 섹션이있을 수 있습니다.
예
ng-repeat지시어를 처리 할 때 각 반복은 현재 반복 객체에 액세스 할 수 있습니다
<div ng-app="myApp" ng-controller="myCtrl">
<ul>
<li ng-repeat="x in names">{{x}}</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = ["Emil", "Tobias", "Linus"];
});
</script>
전체소스
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<ul>
<li ng-repeat="x in names">{{x}}</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = ["Emil", "Tobias", "Linus"];
});
</script>
<p>The variable "x" has a different value for each repetition, proving that each repetition has its own scope.</p>
</body>
</html>
각 <li>요소는 현재 반복 객체에 액세스 할 수 있습니다.이 경우에는 using으로 참조되는 문자열 x입니다.
루트 범위
모든 응용 프로그램에는 지시문 $rootScope이 포함 된 HTML 요소에서 작성된 범위가 있습니다 ng-app.
rootScope는 전체 응용 프로그램에서 사용할 수 있습니다.
변수가 현재 범위와 rootScope에서 동일한 이름을 갖는 경우 응용 프로그램은 현재 범위에있는 변수를 사용합니다.
예
"color"라는 변수는 컨트롤러 범위와 rootScope에 존재합니다 :
<body ng-app="myApp">
<p>The rootScope's favorite color:</p>
<h1>{{color}}</h1>
<div ng-controller="myCtrl">
<p>The scope of the controller's favorite color:</p>
<h1>{{color}}</h1>
</div>
<p>The rootScope's favorite color is still:</p>
<h1>{{color}}</h1>
<script>
var app = angular.module('myApp', []);
app.run(function($rootScope) {
$rootScope.color = 'blue';
});
app.controller('myCtrl', function($scope) {
$scope.color = "red";
});
</script>
</body>
전체소스
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body ng-app="myApp">
<p>The rootScope's favorite color:</p>
<h1>{{color}}</h1>
<div ng-controller="myCtrl">
<p>The scope of the controller's favorite color:</p>
<h1>{{color}}</h1>
</div>
<p>The rootScope's favorite color is still:</p>
<h1>{{color}}</h1>
<script>
var app = angular.module('myApp', []);
app.run(function($rootScope) {
$rootScope.color = 'blue';
});
app.controller('myCtrl', function($scope) {
$scope.color = "red";
});
</script>
<p>Notice that controller's color variable does not overwrite the rootScope's color value.</p>
</body>
</html>
게시판 목록
퍼블리싱강좌
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 238 | 부트스트랩 | 8년 전 | 1773 | ||
| 237 | 부트스트랩 | 8년 전 | 1586 | ||
| 236 | 부트스트랩 | 8년 전 | 1481 | ||
| 235 | 부트스트랩 | 8년 전 | 1755 | ||
| 234 | 부트스트랩 | 8년 전 | 1327 | ||
| 233 | 부트스트랩 | 8년 전 | 2260 | ||
| 232 | 부트스트랩 | 8년 전 | 1359 | ||
| 231 | 부트스트랩 | 8년 전 | 1710 | ||
| 230 | 부트스트랩 | 8년 전 | 2125 | ||
| 229 | 부트스트랩 | 8년 전 | 2834 | ||
| 228 | 부트스트랩 | 8년 전 | 2668 | ||
| 227 | 부트스트랩 | 8년 전 | 1622 | ||
| 226 | 부트스트랩 | 8년 전 | 2479 | ||
| 225 | 부트스트랩 | 8년 전 | 1635 | ||
| 224 | 부트스트랩 | 8년 전 | 1558 | ||
| 223 | 부트스트랩 | 8년 전 | 1402 | ||
| 222 | 부트스트랩 | 8년 전 | 1936 | ||
| 221 | 부트스트랩 | 8년 전 | 1489 | ||
| 220 | 부트스트랩 | 8년 전 | 1646 | ||
| 219 | 부트스트랩 | 8년 전 | 1194 | ||
| 218 | 부트스트랩 | 8년 전 | 1061 | ||
| 217 | 부트스트랩 | 8년 전 | 1445 | ||
| 216 | 부트스트랩 | 8년 전 | 1323 | ||
| 215 | 부트스트랩 | 8년 전 | 1245 | ||
| 214 | 부트스트랩 | 8년 전 | 1236 | ||
| 213 | 부트스트랩 | 8년 전 | 1381 | ||
| 212 | 부트스트랩 | 8년 전 | 1248 | ||
| 211 | 부트스트랩 | 8년 전 | 1563 | ||
| 210 | 부트스트랩 | 8년 전 | 1556 | ||
| 209 | 부트스트랩 | 8년 전 | 1796 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기