programing

$scope vs AngularJS

newsource 2023. 2. 11. 09:28

$scope vs AngularJS

var와 $scope.varname을 사용하고 있는데, 둘 다 AngularJS에서 정상적으로 동작합니다.기능적으로 차이가 있는지, 어떤 베스트 프랙티스를 사용하는지 궁금했습니다.

네!$scope변수는 뷰에 바인드됩니다.var는 선언된 함수에 대해 로컬이 아닙니다.

var x = 3;
$scope.y = 3;

{{x}} - undefined
{{y}} - 3

사용의 기술적 영향var그리고.$scope@tyme에 의해 설명되었습니다.JV 등등.다음 논리적인 질문은 다음과 같습니다.언제 둘 다 쓸 수 있어요?

TL;DR - 뷰에서 변수를 사용하지 않는 경우(예:{{myVar}}), 사용var.

이유는 두 가지입니다.

  1. 캡슐화 - 보기에 필요하지 않은 상태를 숨깁니다.이렇게 하면 변수가 의도하지 않게 수정되는 것을 방지할 수 있습니다.

  2. 성능(추가 다이제스트 사이클 방지) - Angular는 변수에 대해 "더러운 상태" 검사를 수행합니다.뷰에서 사용되지 않는 변수를 수정하면 불필요한 요약 주기가 발생할 수 있습니다.어플리케이션에서 몇 가지ng-repeat많은 시계들이 큰 영향을 미칠 수 있습니다.

1 - $140은 컨트롤러와 뷰/모델 사이의 접착제입니다.컨트롤러의 $140에 대한 변수/함수를 정의하면 이 컨트롤러가 제어하는 뷰 전체가 해당 변수/함수를 볼 수 있습니다.순수 변수가 해당 컨트롤러 내에서만 작동하는 경우 해당 컨트롤러의 뷰도 작동하지 않습니다.

2- $scope에 정의된 모든 것은 컨트롤러 외부에서 Directives, Services, html 뷰...를 통해 조작할 수 있지만 순수 변수는 그렇지 않습니다.

간단히 말하면 컨트롤러 등에서 $scope로 정의하는 모든 변수는 html 마크업으로 사용할 수 있습니다.js 함수 안에 변수가 필요한 경우 var를 사용하여 선언할 수 있습니다. 변수는 로컬에서만 사용할 수 있습니다.기능도 마찬가지입니다.

var는 뷰에 대한 $vind bind value이며 var는 응용 프로그램의 로컬 변수입니다.

언급URL : https://stackoverflow.com/questions/24287954/scope-vs-var-in-angularjs