$scope의 차이는 무엇입니까?$root 및 $rootScope?
컨트롤러에 $scope에 $root가 있는 것으로 보이는데, 이것은 무엇입니까?컨트롤러에 삽입할 수 있는 $rootScope와 어떻게 다른가요?
$rootScope
var는 모든 스코프의 부모를 가리키며 어디에나 주입할 수 있습니다.그 외의 모든 스코프는,$rootScope
. 이들은 를 통해 생성됩니다.$new
의 방법$rootScope
따라서 모든 스코프는 에서 상속됩니다.$rootScope
.
정의의 각도 소스에서는Scope
컨스트럭터에는 다음 행이 있습니다.
function Scope() {
this.$id = nextUid();
...
this['this'] = this.$root = this;
...
그런 것 같아요$root
var는 단지 자리 표시자일 뿐이다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 |