programing

AngularJS 1.5의 구성 요소와 지침 간의 주요 차이점은 무엇입니까?

stoneblock 2023. 3. 5. 09:25

AngularJS 1.5의 구성 요소와 지침 간의 주요 차이점은 무엇입니까?

컴포넌트와 디렉티브의 실제 차이를 이해하기 어렵습니다.컴포넌트가 훨씬 쉬운 개념이라는 것을 알게 되었습니다.

따라서 AngularJS 1.5를 사용할 때 지시어를 계속 사용해야 하는 이유가 있습니까?

실제 컨텍스트를 놓쳤을 수도 있지만 컴포넌트가 더 쉬운 API를 제공하는 것 같습니다.

그럼 지시문을 계속 사용해야 하는 이유는 무엇입니까?

Angular 2는 모든 것이 컴포넌트임을 나타내고 있기 때문에 1.5에서2로의 이행이 용이하도록 하고 있는데 앞으로 컴포넌트만 사용하는 것은 의미가 없는 것일까요?

이전에는 자동 검색 텍스트 상자 등의 작성 지시어를 사용했는데, 지금은 컴포넌트 내부에서 작성하지 않아도 되는 이유가 없습니다.그리고 이 컴포넌트를 제가 만든 다른 컴포넌트 안에서 재사용할 수 있나요?

각진 문서를 베끼는 것뿐이야 내가 생각할 수 있는 최선의 방법으로 써놨으니까

컴포넌트에 대해서

Angular에서 구성 요소는 구성 요소 기반 애플리케이션 구조에 적합한 보다 단순한 구성을 사용하는 특수한 종류의 지시어입니다.

이를 통해 웹 컴포넌트를 사용하거나 Angular 2의 애플리케이션 아키텍처를 사용하는 것과 유사한 방식으로 앱을 쉽게 작성할 수 있습니다.

컴포넌트의 장점:

  • 일반 지시보다 간단한 구성
  • 건전한 채무 불이행과 베스트 프랙티스를 촉진하다
  • 컴포넌트 기반 아키텍처에 최적화
  • 컴포넌트 지시문을 작성하면 Angular 2로 쉽게 업그레이드 할 수 있습니다.

컴포넌트를 사용하지 않는 경우:

  • 컴파일 및 링크 기능을 사용할 수 없기 때문에 DOM 조작, 이벤트 리스너 추가 등에 의존하는 디렉티브의 경우
  • priority, terminal, multi-time 등의 고급 디렉티브 정의 옵션이 필요한 경우
  • 요소가 아닌 Atribut 또는 CSS 클래스에 의해 트리거되는 디렉티브가 필요한 경우

기타 정보 : https://docs.angularjs.org/guide/component

본 기사(각도 2: 컴포넌트와 디렉티브의 차이)에서 영감을 얻어 대략적인 관점에서 설명하겠습니다.Angular 2라고 쓰여 있지만 AngularJs 컨텍스트에서도 유용합니다.

지시 사항

컴퓨터 공학에는 'Directive Pragma'라는 개념이 있습니다.위키피디아에 따르면:

컴퓨터 프로그래밍에서 디렉티브 플러그마(pragmatic)는 컴파일러(또는 어셈블러 또는 인터프리터)가 입력을 처리하는 방법을 지정하는 언어 구조입니다.지시어는 적절한 언어의 일부가 아닙니다.

이는 Angular에서 제공하는 설명과 잘 일치합니다.JS 문서:

「개요 레벨에서 디렉티브는, DOM 요소(아트리뷰트, 요소명, 코멘트, CSS 클래스등)의 마커이며, 각도(Angular)를 나타냅니다.JS의 HTML 컴파일러($compile)는 특정 동작을 해당 DOM 요소에 부가하거나(예를 들어 이벤트 청취자를 통해), DOM 요소와 그 자식 요소를 변환합니다."

따라서 기본적으로 지시사항은 (Angular) 컴파일러에 명령어를 발행하여 DOM 또는 그 동작을 변경하는 것입니다.

구성 요소들

각진 상태의 성분JS는 특별한 지시어입니다. 즉, Angular와 같이 웹 컴포넌트를 모방하려고 합니다.JS 문서 상태:

AngularJS에서 컴포넌트는 컴포넌트 기반 애플리케이션 구조에 적합한 보다 단순한 구성을 사용하는 특수한 종류의 지시어입니다.

이를 통해 웹 컴포넌트를 사용하거나 새로운 Angular 스타일의 애플리케이션 아키텍처를 사용하는 것과 유사한 방식으로 앱을 쉽게 작성할 수 있습니다.

어떤 경우에 사용합니까?

개인적으로 저는 특별한 이유가 없는 한 부품을 사용합니다.

이러한 이유 중 일부는 Angular에 나와 있습니다.컴포넌트의 JS 문서:

  • 사용할 수 없기 때문에 컴파일 및 링크 전 함수로 액션을 수행해야 하는 디렉티브의 경우
  • priority, terminal, multi-time 등의 고급 디렉티브 정의 옵션이 필요한 경우
  • 요소가 아닌 Atribut 또는 CSS 클래스에 의해 트리거되는 디렉티브가 필요한 경우

다른 말로 하자면:

디렉티브는 동작을 DOM 내의 요소에 부가할 수 있는 메커니즘입니다.

컴포넌트는 웹 컴포넌트 기능을 이용할 수 있도록 하는 특정 유형의 지시입니다.이 명령어는 애플리케이션 전체에서 사용 가능한 캡슐화된 재사용 가능한 요소입니다.

가능한 결론

컴포넌트가 지시사항이라는 것을 이해하게 되면 질문은 그다지 좋지 않다고 생각합니다.그 두 개념은 같은 문제를 해결하려고 하지 않는다.컴포넌트는 컴포넌트 기반의 웹 어플리케이션을 구축하기 위해 디렉티브를 사용할 수 있는 확장판입니다.

더 깊이

Todd Mooto는 이 작은 GIST에서 이 주제에 대한 그의 지식을 공유합니다.

지시문은 DOM을 장식하고 동작을 추가하며 기존 DOM을 확장합니다..component()를 사용하는 경우 DOM을 생성하고, .directive()를 사용하는 경우 DOM을 꾸미는 것이 마음가짐입니다.

언급URL : https://stackoverflow.com/questions/38342664/what-are-the-main-differences-between-components-and-directives-in-angularjs-1-5