
AngularJ의 "controller as" 구문: 설명 및 설명
AngularJS는 컨트롤러 구성을 단순화하고 개선하는 것을 목표로 하는 "controller as"라는 새로운 구문을 도입했습니다.
설명
"controller as" 구문을 사용하면 컨트롤러를 인스턴스화하고 범위 내에서 사용자 지정 별칭을 할당할 수 있습니다. 예를 들면 다음과 같습니다.
1 | InvoiceController as invoice
|
로그인 후 복사
이는 Angular가 InvoiceController의 인스턴스를 생성하고 이를 현재 범위 내의 송장 변수에 저장한다는 것을 의미합니다.
이점:
-
컨트롤러 코드 정리: "controller as"를 사용하면 컨트롤러에서 $scope 매개변수를 제거할 수 있어 더 간결하고 읽기 쉬운 코드를 만들 수 있습니다.
-
명시적 속성 참조: 지정한 별칭(예: 송장)을 통해 특정 속성의 출처를 명확하게 하여 코드 명확성을 높일 수 있습니다.
-
범위 속성: 컨트롤러 인스턴스에 할당된 속성은 컨트롤러 자체로 범위가 지정되는 반면 $scope에 할당된 속성은 전체 계층 구조에서 사용할 수 있습니다.
-
점 규칙 단순화: 별칭(예: 송장)을 사용하여 ), 컨트롤러 계층 전체에서 속성 액세스를 제한하는 "점 규칙"을 사용하면 잠재적인 문제를 피할 수 있습니다.
예
이전에는 모델을 입력에 바인딩하려면 다음을 수행해야 합니다. 사용:
1 | <input type= "number" ng-model= "qty" />
|
로그인 후 복사
컨트롤러에서:
1 2 3 | ....controller( 'InvoiceController' , function ( $scope ) {
})
|
로그인 후 복사
"controller as"를 사용하면 대신 다음을 사용합니다.
1 | <input type= "number" ng-model= "invoice.qty" />
|
로그인 후 복사
컨트롤러에서:
1 2 3 | ....controller( 'InvoiceController' , function () {
})
|
로그인 후 복사
구문의 목적
"controller as"의 주요 목적은 다음을 통해 코드 가독성과 구성을 향상시키는 것입니다.
- $scope 매개변수 제거
- 뷰 내의 속성 소스를 명확하게 나타냅니다.
- 컨트롤러 계층 전체에서 속성 관리를 용이하게 합니다.
위 내용은 AngularJS의 \'controller as\' 구문은 어떻게 코드 구성과 가독성을 향상합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!