간단히 말하면 위에서 말씀드린 내용에 동의합니다. 이는 뷰와 컨트롤러 간의 연결로 이해될 수 있습니다.
실제로 데이터 기반 프레임워크의 경우 페이지(보기) 변경은 데이터 변경을 기반으로 합니다. 이는 일반적으로 페이지 데이터를 저장하는 데 사용됩니다. 물론 이 기능은 페이지에 표시되는 데이터를 저장하는 데 국한되지 않고 표시할 필요는 없지만 "다른 일이 발생하도록" 허용하는 일부 데이터를 저장할 수도 있습니다. $scope
더 복잡하게 말하면
는 $rootScope를 기반으로 하는 인스턴스라는 것입니다. 범위라는 단어 자체는 범위를 의미합니다. Angular의 $scope 是一个基于 $rootScope 的实例。scope 这个单词本身就有作用域的意思,Angular 中的 $scope도 JavaScript의 범위 특성, 즉 상속의 특성을 갖습니다.
예를 들어 JavaScript에서 하위 함수는 변수 이름을 통해 상위 함수의 범위에 액세스할 수 있지만 상위는 하위에 액세스할 수 없습니다. 마찬가지로 Angular에서 하위 컨트롤러는 $parent를 통해 상위 컨트롤러의 controller 可以通过 $parent 访问父级 controller 的 $scope에 액세스할 수 있지만 상위는 하위에 액세스할 수 없습니다.
부모가 자녀에게 접근하기 위한 JavaScript에는 일반적으로 두 가지 솔루션이 있습니다. 하나는 전역 변수를 이용하는 것이고, 다른 하나는 클로저 작성을 통해 자체 범위에 특정 값을 노출하는 것입니다. Angular에서도 방법은 비슷합니다. 하나는 $rootScope;二是通过 $emit 由事件去控制;三是通过 factory 或者 service 还有 constant와 같은 매개변수를 전달하는 것이지만 이 방법에는 종속성 주입과 같은 것도 포함됩니다.
장기적으로 $scope는 좋지 않습니다 [짙은 안개. . . 제 개인적인 경험으로는 주의를 기울이지 않으면 스코프 블리딩이 발생할 가능성이 높아 자식 수준에서 특정 값을 얻어서는 안 되지만 상속 관계로 인해 자식 수준에서는 한 값을 조회하게 된다는 것입니다. 레벨을 확인하고 이 값을 찾으세요. 보기에는 좋지만 작동이 잘못될 가능성이 있고 디버그하기가 더 어렵습니다.
Angular 1에서 controllerAs 语法,这样你就不需要在 Angular 1 中用 $scope 了。在 Angular 2 中是肯定不用 $scope를 사용할 필요가 없도록 controllerAs 구문에 대해 배울 수 있습니다. Angular 2에서는
가 절대 사용되지 않습니다.
여기서 말할 수 있는 내용은 매우 제한적입니다. 공식 문서를 꼭 읽어보시기 바랍니다: https://docs.angularjs.org/gu...
https://github.com /angular/an... .
$scope커스텀 디렉티브를 작성하고 싶다면 이해하지 않고서는 잘 작성하기 어려울 것입니다
뷰와 컨트롤러 사이의 링크라고 생각하세요.
vue를 이해하셨으니 부적절하게 비교하겠습니다. vue에는 data() 함수와 메소드 객체가 있습니다. 그들이 반환하는 속성과 메소드는 템플릿에서 직접 사용할 수 있습니다. 범위 내 개체의 메서드와 속성은 템플릿에서 직접 사용할 수 있습니다.
Angular 시리즈 연구 노트(1) - Angle의 모듈화에 대해 이야기해 봅시다
간단히 말하면 위에서 말씀드린 내용에 동의합니다. 이는 뷰와 컨트롤러 간의 연결로 이해될 수 있습니다.
실제로 데이터 기반 프레임워크의 경우 페이지(보기) 변경은 데이터 변경을 기반으로 합니다. 이는 일반적으로 페이지 데이터를 저장하는 데 사용됩니다. 물론 이 기능은 페이지에 표시되는 데이터를 저장하는 데 국한되지 않고 표시할 필요는 없지만 "다른 일이 발생하도록" 허용하는 일부 데이터를 저장할 수도 있습니다.
더 복잡하게 말하면$scope
는
$rootScope
를 기반으로 하는 인스턴스라는 것입니다. 범위라는 단어 자체는 범위를 의미합니다. Angular의$scope
是一个基于$rootScope
的实例。scope 这个单词本身就有作用域的意思,Angular 中的$scope
도 JavaScript의 범위 특성, 즉 상속의 특성을 갖습니다.예를 들어 JavaScript에서 하위 함수는 변수 이름을 통해 상위 함수의 범위에 액세스할 수 있지만 상위는 하위에 액세스할 수 없습니다. 마찬가지로 Angular에서 하위
컨트롤러
는$parent
를 통해 상위컨트롤러
의controller
可以通过$parent
访问父级controller
的$scope
에 액세스할 수 있지만 상위는 하위에 액세스할 수 없습니다.부모가 자녀에게 접근하기 위한 JavaScript에는 일반적으로 두 가지 솔루션이 있습니다. 하나는 전역 변수를 이용하는 것이고, 다른 하나는 클로저 작성을 통해 자체 범위에 특정 값을 노출하는 것입니다. Angular에서도 방법은 비슷합니다. 하나는
$rootScope
;二是通过$emit
由事件去控制;三是通过factory
或者service
还有constant
와 같은 매개변수를 전달하는 것이지만 이 방법에는 종속성 주입과 같은 것도 포함됩니다.장기적으로
$scope
는 좋지 않습니다 [짙은 안개. . . 제 개인적인 경험으로는 주의를 기울이지 않으면 스코프 블리딩이 발생할 가능성이 높아 자식 수준에서 특정 값을 얻어서는 안 되지만 상속 관계로 인해 자식 수준에서는 한 값을 조회하게 된다는 것입니다. 레벨을 확인하고 이 값을 찾으세요. 보기에는 좋지만 작동이 잘못될 가능성이 있고 디버그하기가 더 어렵습니다.Angular 1에서
가 절대 사용되지 않습니다.controllerAs
语法,这样你就不需要在 Angular 1 中用$scope
了。在 Angular 2 中是肯定不用$scope
를 사용할 필요가 없도록controllerAs
구문에 대해 배울 수 있습니다. Angular 2에서는여기서 말할 수 있는 내용은 매우 제한적입니다. 공식 문서를 꼭 읽어보시기 바랍니다:
https://docs.angularjs.org/gu...
$scope
커스텀 디렉티브를 작성하고 싶다면 이해하지 않고서는 잘 작성하기 어려울 것입니다