각도란JS 디렉티브?
Angular를 읽는데 꽤 많은 시간을 할애했다.JS 매뉴얼과 몇 가지 튜토리얼이 있는데, 이 매뉴얼에 접근할 수 없다는 사실에 놀랐습니다.
Angular를 픽업하려는 다른 사람들에게도 유용할 수 있는 간단하고 대답할 수 있는 질문이 있습니다.JS:
각도란JS 디렉티브?
명령어에 대한 간단하고 정확한 정의가 어딘가에 있을 것입니다만, Angular는JS 웹 사이트에서는 다음과 같은 놀랍도록 쓸모없는 정의를 제공합니다.
홈페이지에서:
디렉티브는 AngularJS에서 사용할 수 있는 고유하고 강력한 기능입니다.디렉티브를 사용하면 응용 프로그램에 고유한 새로운 HTML 구문을 만들 수 있습니다.
디렉티브는 HTML에 새로운 기술을 가르치는 방법입니다.DOM 의 컴파일중에, HTML 에 대해서 디렉티브를 대조되어 실행됩니다.이를 통해 디렉티브는 동작을 등록하거나 DOM을 변환할 수 있습니다.
그리고 아이러니하게도 관객이 이미 그것이 무엇인지 알고 있는 것처럼 보이는 지시들에 대한 일련의 이야기들이 있다.
명확한 참조를 위해 다음 사항을 설명하는 지침의 정확한 정의를 제공할 수 있는 사람이 있습니까?
- 개요(jQuery의 명확한 정의를 예로 참조)
- 어떤 현실적인 문제와 상황에 대처하는 것이 목적입니까?
- Angular의 MVC/MVW 미션에 어떻게 적합한지 또는 대체적으로 어떤 디자인 패턴을 구현하는지JS.
이게 뭐죠? (예를 들어 jQuery의 명확한 정의를 참조해 주세요.)
디렉티브는 기본적으로 Angular 컴파일러가 DOM에서 검출했을 때 실행되는 함수입니다†.함수는 거의 모든 작업을 수행할 수 있기 때문에 지시문이 무엇인지 정의하는 것은 다소 어렵다고 생각합니다.각 디렉티브에는 이름(ng-repeat, 탭, make-up-your-own 등)이 있으며, 각 디렉티브는 코멘트 내의 요소, 속성, 클래스 등 사용처를 결정합니다.
† 디렉티브에는 보통 (포스트)링크 기능만 있습니다.복잡한 디렉티브는 컴파일 함수, 프리링크 함수 및 포스트링크 함수를 가질 수 있습니다.
어떤 현실적인 문제와 상황에 대처하는 것을 의도하고 있습니까?
디렉티브가 할 수 있는 가장 강력한 것은 HTML을 확장하는 것입니다.확장은 응용 프로그램을 빌드하기 위한 도메인 고유 언어(DSL)입니다.예를 들어, 어플리케이션이 온라인 쇼핑 사이트를 실행하고 있는 경우 HTML을 확장하여 "쇼핑 카트", "쿠폰", "스페셜" 등의 지시어를 사용할 수 있습니다. "divs" 및 "span"(@WTK와 같이)보다는 "온라인 쇼핑" 도메인 내에서 사용하는 것이 더 자연스러운 단어나 객체 또는 개념에 관계없이 말입니다.
지시문은 HTML을 구성요소화할 수도 있습니다. HTML을 여러 개 재사용 가능한 구성요소로 그룹화합니다.많은 HTML을 끌어오기 위해 ng-include를 사용하고 있는 자신을 발견한다면, 이제 디렉티브로 리팩터링해야 할 때일 것이다.
angularjs의 MVC/MVW 미션에 적합한 설계 패턴은 무엇입니까?
디렉티브는, DOM 를 조작해, DOM 이벤트를 취득하는 장소입니다.이것이 디렉티브의 컴파일 기능과 링크 함수 모두 "element"를 인수로 받는 이유입니다.넌 할 수 있다.
- 지시문을 대체할 HTML(템플릿 등) 묶음을 정의합니다.
- 이벤트를 이 요소(또는 하위 요소)에 바인딩합니다.
- 클래스를 추가/삭제하다
- text() 값을 변경합니다.
- 같은 요소에 정의되어 있는 속성의 변경을 감시합니다(실제로 감시되는 것은 속성의 값입니다.이것은 스코프 속성이기 때문에 디렉티브는 「모델」의 변경을 감시합니다).
- 기타.
In HTML we have things like
<a href="...">
,
<img src="...">
,
<br>
,
<table><tr><th>
. How would you describe what a, href, img, src, br, table, tr, and th are? That's what a directive is.
각도 지령에 대한 매우 간단하고 초기 정의는 다음과 같습니다.
AngularJS 디렉티브(ng-directive)는 Angular가 HTML을 확장하기 위해 사용하는 접두사 ng(ng-model, ng-app, ng-repeat, ng-bind)를 가진 HTML 속성입니다.(발신: W3schools angular tutorial)
예를 들어 다음과 같습니다.
ng-app 디렉티브는 Angular를 정의합니다.JS 어플리케이션
ng-model 디렉티브는 HTML 컨트롤(입력, 선택, 텍스트 영역)의 값을 애플리케이션 데이터에 바인드합니다.
ng-bind 디렉티브는 애플리케이션 데이터를 HTML 뷰에 바인드합니다.
<div ng-app="">
<p>Name: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div>
이 튜토리얼을 체크해 주세요.적어도 Angular에 대한 최고의 소개 중 하나였습니다.보다 완전한 접근방식은 @mark-rajcok이 이전에 말한 모든 것입니다.
설명서를 보면 지시문은 객체 및 동작을 작성하기 위해 angularjs 파스를 작성할 수 있는 구조입니다.즉, 임의의 노드, 의사 자바스크립트 및 플레이스 홀더를 혼합하여 데이터에 대해 위젯(컴포넌트)의 구조, 동작 및 데이터 피드 방법에 대한 의도를 표현하는 템플릿입니다.그런 다음 Angularjs는 이러한 명령어에 대해 실행되며, 이를 작동 중인 html/javascript 코드로 변환합니다.
적절한 의미론을 사용하여 보다 복잡한 컴포넌트(위젯)를 구축할 수 있도록 지시문이 있습니다.디렉티브의 angularjs의 예를 봐 주세요.탭 페인을 정의하고 있습니다(일반 HTML에서는 물론 유효하지 않습니다).이것은 div나 span과 같은 구조를 작성하는 것보다 직관적입니다.그 후 탭 페인과 같이 스타일링 됩니다.
각진 상태JS 디렉티브는 속성(제한-A), 요소 이름(제한-E), 주석(제한-M) 또는 CSS 클래스(제한-C)와 같은 HTML DOM 요소에 대한 html re 마커입니다.JS의 HTML 컴파일러($compile)는 해당 DOM 요소에 대해 지정된 동작을 수행하거나 DOM 요소와 그 자식 요소를 변환합니다.예를 들어 ng-bind, ng-hide/show 등이 있습니다.
홈페이지는 이에 대해 매우 명확합니다.마지막 섹션에서 탭 위로 마우스를 이동하면:
커스텀으로 HTML의 어휘를 확장했습니다.
tabs
요소.그tabs
탭 렌더링에 필요한 복잡한 HTML 구조와 동작을 추상화합니다.그 결과 보기 가독성이 향상되고 구문을 쉽게 재사용할 수 있게 되었습니다."
다음 탭에서 다음을 수행합니다.
angular.module('components', []).
directive('tabs', function() {
return {
restrict: 'E',
transclude: true,
scope: {},
controller: function($scope, $element) {
var panes = $scope.panes = [];
$scope.select = function(pane) {
angular.forEach(panes, function(pane) {
pane.selected = false;
});
pane.selected = true;
}
따라서 html 요소를 발명할 수 있습니다.tabs
그리고 각이 그 요소들의 렌더링을 처리하도록 한다.
언급URL : https://stackoverflow.com/questions/13875466/what-is-an-angularjs-directive
'programing' 카테고리의 다른 글
WFMLRSVCApp.ear 파일을 찾을 수 없습니다. (0) | 2023.03.03 |
---|---|
$http 오류입니다.get in angularJS -- 함수가 아닌 성공 (0) | 2023.03.03 |
Wordpress loop : The Loop 내에서 현재 게시물 수를 가져옵니다. (0) | 2023.03.03 |
리액트 라우터에서 이전 경로를 검출하시겠습니까? (0) | 2023.03.03 |
트랜스코프된 디렉티브의 부모 스코프 액세스 (0) | 2023.03.03 |