티스토리 뷰
Web Component
웹 컴포넌트는 코드들을 캡슐화하여 재사용 가능한 커스텀 엘리먼트를 생성하고 웹 앱에서 활용할 수 있도록 해주는 다양한 기술들의 모음이다.
슬롯(Slot)
웹 컴포넌트의 여러 기술들 중 HTML 템플릿에는 ‘template’과 ‘slot’ 엘리먼트가 있다.
이들은 렌더링된 페이지에 나타나지 않는 마크업 템플릿을 작성할 수 있게 해주며, 커스텀 엘리먼트의 구조를 기반으로 여러번 재사용 할 수 있다.
HTML ‘slot’ 요소는 웹 컴포넌트 사용자가 자신만의 마크업으로 채워 별도의 DOM 트리를 생성하고 컴포넌트와 함께 표현할 수 있는 웹 컴포넌트 내부의 placeholder이다.
[예제]
<template id="my-component">
<slot name="header"></slot>
<slot name="footer"></slot>
</template>
ㄴ 템플릿 작성
<my-component>
<h1 slot="header">이것은 외부에서 넘어온 헤더입니다.</h1>
<footer slot="footer">이것은 외부에서 넘어온 푸터입니다.</footer>
</my-component>
ㄴ slot의 name 속성을 활용해 해당 위치에 외부 콘텐츠를 넘길 수 있다.
template는 브라우저가 태그의 내용은 인식하지만 화면에 랜더링 하지 않는다.
'Development' 카테고리의 다른 글
이전 상태(previous state) 기반 업데이트 (0) | 2024.01.31 |
---|---|
React의 작동 흐름 (공식 문서 해설) (0) | 2024.01.30 |
프레그먼트(Fragments) (1) | 2024.01.25 |
크롬 확장 프로그램 충돌로 인한 레이아웃 깨짐 문제 해결 (0) | 2024.01.09 |
웹 요소의 속성을 가져오거나 수정하는 방법 (1) | 2023.12.27 |