테스트 사이트 - 개발 중인 베타 버전입니다

AngularJS Scope 3

· 8년 전 · 1065
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>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1386
1385
AngularJS 주형
1384
AngularJS 컨트롤러
1383
1382
1381
1380
1379
1378
1377
1376
1375
1374
1373
1372
1371
1370
AngularJS AngularJS API
1369
AngularJS 검증 예제
1368
1367
AngularJS CSS 클래스
1366
1365
AngularJS 이메일
1364
1363
AngularJS 선택 상자
1362
1361
AngularJS 체크 박스
1360
1359
AngularJS $event 객체
1358
1357