angular.js-Angular에서 $sope를 더 잘 이해하는 방법은 무엇입니까?
天蓬老师
天蓬老师 2017-06-07 09:23:44
0
4
689

최근에Angular를 공부하고 있는 이유는 새로운 프로젝트이고 vue보다 훨씬 더 모호한 느낌이 들기 때문입니다
코드를 게시하고 조언을 구하세요

으아악
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(4)
漂亮男人

뷰와 컨트롤러 사이의 링크라고 생각하세요.

黄舟

vue를 이해하셨으니 부적절하게 비교하겠습니다. vue에는 data() 함수와 메소드 객체가 있습니다. 그들이 반환하는 속성과 메소드는 템플릿에서 직접 사용할 수 있습니다. 범위 내 개체의 메서드와 속성은 템플릿에서 직접 사용할 수 있습니다.

巴扎黑

Angular 시리즈 연구 노트(1) - Angle의 모듈화에 대해 이야기해 봅시다

Peter_Zhu

간단히 말하면 위에서 말씀드린 내용에 동의합니다. 이는 뷰와 컨트롤러 간의 연결로 이해될 수 있습니다.

실제로 데이터 기반 프레임워크의 경우 페이지(보기) 변경은 데이터 변경을 기반으로 합니다. 이는 일반적으로 페이지 데이터를 저장하는 데 사용됩니다. 물론 이 기능은 페이지에 표시되는 데이터를 저장하는 데 국한되지 않고 표시할 필요는 없지만 "다른 일이 발생하도록" 허용하는 일부 데이터를 저장할 수도 있습니다. $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커스텀 디렉티브를 작성하고 싶다면 이해하지 않고서는 잘 작성하기 어려울 것입니다

.

위 내용은 순전히 개인적인 이해이므로 정정해 주시기 바랍니다
🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿