Angular Content Projection Selector Tooltip

agnusdei·2023년 7월 5일
0

<div class="relative flex items-center gap-2">
  <h3><ng-content></ng-content></h3>
  <div
    *ngIf="width >= 1280"
    class="px-2 text-white rounded-full cursor-pointer bg-primary hover:bg-primary-400"
    (mouseover)="isOver = true"
    (mouseleave)="isOver = false"
  >
    ?
  </div>
  <div
    *ngIf="width < 1280"
    class="px-2 text-white rounded-full cursor-pointer bg-primary hover:bg-primary-400"
    (click)="isOver = !isOver"
  >
    ?
  </div>
  <div
    class="absolute left-0 z-30 flex flex-wrap w-full px-4 py-2 text-sm bg-gray-200 rounded-md top-7"
    *ngIf="isOver"
  >
    <ng-content select="[tooltip]"></ng-content>
  </div>
</div>

위 코드에서 select="[tooltip]" 부분은 Angular의 Content Projection 및 Selectors를 사용하는 부분입니다.

select="[tooltip]"는 HTML 템플릿에서 를 통해 전달된 콘텐츠 중에서 [tooltip] 속성을 가진 요소를 선택하겠다는 의미입니다.

는 부모 컴포넌트로부터 전달된 콘텐츠를 표시하는 Angular의 내장 지시자입니다. 즉, 부모 컴포넌트에서

요소 안에 있는 내용이 를 통해 해당 위치에 삽입되게 됩니다.

select="[tooltip]"를 사용하여 [tooltip] 속성을 가진 요소를 선택하면, 그 선택된 요소들은 가 있는 위치에서 다시 렌더링되어 표시됩니다. 이 경우 선택된 요소들은 툴팁을 나타내는 역할을 하게 됩니다.

요약하면, select="[tooltip]"는 를 통해 전달된 콘텐츠 중에서 [tooltip] 속성을 가진 요소들을 선택하여 해당 위치에 표시하는 역할을 합니다.

 <app-tooltip-header>
           제목
           <p tooltip>
             마우스 올리면 보이는 내용
           </p>
         </app-tooltip-header>

0개의 댓글