$scope의 차이는 무엇입니까?$root 및 $rootScope?
컨트롤러에 $scope에 $root가 있는 것으로 보이는데, 이것은 무엇입니까?컨트롤러에 삽입할 수 있는 $rootScope와 어떻게 다른가요?
$rootScopevar는 모든 스코프의 부모를 가리키며 어디에나 주입할 수 있습니다.그 외의 모든 스코프는,$rootScope. 이들은 를 통해 생성됩니다.$new의 방법$rootScope따라서 모든 스코프는 에서 상속됩니다.$rootScope.
정의의 각도 소스에서는Scope컨스트럭터에는 다음 행이 있습니다.
function Scope() {
this.$id = nextUid();
...
this['this'] = this.$root = this;
...
그런 것 같아요$rootvar는 단지 자리 표시자일 뿐이다this최초 생성된 범위 -$rootScope.
다음으로 이 코드 조각이 있습니다.$new방법:
$new: function(isolate) {
...
if (isolate) {
child = new Scope();
child.$root = this.$root;
...
return child;
그래서...$root모든 스코프 차일드 var$rootScope에 대한 참조입니다.$rootScope그리고 그 아이들의 모든 아이들은 같은 언급을 받게 될 것이다.$rootScope
제 생각에는, 을 사용하는 것이 더 낫다고 생각합니다.$rootScope의존성 주입을 통해 사용되는 것은 명확하고 전체적으로 더 자주 사용되는 방법이기 때문입니다.$rootScope
아까도 말씀드렸듯이$scope.$root에 대한 참조가 있습니다.$rootScope.
유감스럽게도, 이 기능을 사용하는 것에는 차이가 있습니다.$scope.$root및 사용$rootScope:
- 언제
$scope루트, 루트, 루트,$root속성은null $scope.$root는 격리된 범위에만 할당됩니다.https://github.com/angular/angular.js/blob/v1.3.6/src/ng/rootScope.js#L204
그래서 당신은 지금 어떤 상황에 처해있을 수 있습니다.$scope.$root이null·사용의 용이성$rootScope대신...
언급URL : https://stackoverflow.com/questions/22216441/what-is-the-difference-between-scope-root-and-rootscope
'source' 카테고리의 다른 글
| ui-sref와 $state.go의 각도 차이JS UI 라우터 (0) | 2023.03.27 |
|---|---|
| 한 프로젝트의 spring-config.xml을 다른 프로젝트의 spring-config.xml로 Import하려면 어떻게 해야 합니까? (0) | 2023.03.27 |
| JSON 배열에서 요소를 찾기 위한 색인 (0) | 2023.03.27 |
| 이름 또는 슬래그로 WooCommerce 제품 카테고리의 ID를 가져옵니다. (0) | 2023.03.27 |
| 여러 열을 여러 변수로 선택 (0) | 2023.03.27 |