English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AnjularJS에서 $scope와 $rootScope의 차이 요약

一句话总结:

     $rootScope는 전체 스파이크에 유효합니다

     $scope는 현재 controller 스파이크에만 유효합니다

위의 주장을 증명하기 위해 다음 예제를 사용합니다:

myApp라는 모듈을 정의합니다

var myApp = angular.module('myApp', []);

oneController와 twoController这两个controller를 생성합니다

oneController는 $scope와 $rootScope를 전달합니다

myApp.controller('oneController', ['$scope', '$rootScope', function ($scope, $rootScope) {
 // 지역 변수는 oneController에서만 표시됩니다
 $scope.one_language = 'Python';
 // 전역 변수는 모두 호출할 수 있습니다
 $rootScope.language = 'Go';
});

twoController는 $scope만 전달됩니다

myApp.controller('twoController', ['$scope', function ($scope) {
 // 지역 변수는 twoController에서만 표시됩니다
 $scope.two_language = 'Java';
});

HTML 태그 내용

<span ng-app="myApp">
  <style>
    div{margin-top: 15px;border: 2px solid rebeccapurple;width: 400px;}
  </style>
  <div>
    <h3>제가 전역 변수 language: {{ language}}</h3>
  </div>
  <div ng-controller="oneController">
    <h3>제가 one_language 지역 변수: {{ one_language}}</h3>
  </div>
  <div ng-controller="twoController">
    <h1>twoController</h1>
    <h3>제가 two_language 지역 변수: {{ two_language }}</h3>
    <h3>제가 one_language 지역 변수: {{ one_language}}</h3>
    <h3>제가 전역 변수 language: {{ language }}</h3>
  </div>
</span>

표시된 결과

결론

이 기사의 모든 내용이 이렇습니다. 위의 코드를 주의 깊게 보세요. 이는 이해하는 데 도움이 됩니다. 질문이 있으면 댓글을 남겨 주세요. 감사합니다.呐喊 튜토리얼에 대한 지원에 감사합니다.

좋아하는 것