이 예에서는 새로운 맞춤 요소 를 정의합니다. 생성자 내에서 this.attachShadow({ mode: 'open' })을 사용하여 섀도우 루트를 연결한 다음 여기에 일부 콘텐츠를 추가합니다. 섀도우 루트 내에 정의된 스타일은 문서의 나머지 부분과 격리됩니다.

Shadow DOM 모드

섀도 루트를 생성할 때 모드를 열림 또는 닫힘으로 지정할 수 있습니다.

폐쇄 모드의 예

const shadow = this.attachShadow({ mode: \\'closed\\' });

이 모드에서는 구성 요소 외부에서 섀도우에 액세스할 수 없으므로 추가 보호 계층이 추가됩니다.

Shadow DOM 스타일링

Shadow DOM 내부에서 직접 스타일을 정의할 수 있습니다. 이러한 스타일은 그림자 트리 내의 콘텐츠에만 적용됩니다.

const style = document.createElement(\\'style\\');style.textContent = `    div {        font-size: 20px;        color: red;    }`;shadow.appendChild(style);

섀도우 루트에

"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Shadow DOM 이해: 캡슐화된 웹 구성 요소의 핵심

Shadow DOM 이해: 캡슐화된 웹 구성 요소의 핵심

2024-11-07에 게시됨
검색:271

Understanding Shadow DOM: The Key to Encapsulated Web Components

현대 웹 개발에서는 재사용 및 유지 관리가 가능한 구성 요소를 만드는 것이 필수적입니다. 웹 구성 요소 표준의 일부인 Shadow DOM은 이 목표를 달성하는 데 중요한 역할을 합니다. 이 문서에서는 Shadow DOM의 개념과 이점, 프로젝트에서 이를 효과적으로 사용하는 방법을 자세히 설명합니다.

Shadow DOM이란 무엇입니까?

Shadow DOM은 웹 구성 요소 내부에 DOM 및 CSS의 일부를 캡슐화하여 문서의 나머지 부분과 격리되도록 하는 기술입니다. 이 캡슐화는 스타일과 스크립트가 내부로 또는 외부로 누출되는 것을 방지하여 모듈식이며 유지 관리 가능한 구성 요소를 더 쉽게 구축할 수 있게 해줍니다.

Shadow DOM의 주요 개념

  1. 섀도 트리: 웹 구성 요소에 연결된 별도의 숨겨진 DOM 트리입니다.
  2. 그림자 루트: 그림자 트리의 루트 노드입니다.
  3. 섀도우 호스트: 섀도우 트리를 호스팅하는 일반 DOM 요소입니다.
  4. 그림자 경계: 그림자 트리와 일반 DOM 사이의 경계입니다.

Shadow DOM의 이점

1. 캡슐화

Shadow DOM은 구성 요소의 내부 구조와 애플리케이션의 나머지 부분을 깔끔하게 분리합니다. 이 캡슐화는 스타일과 동작 충돌을 방지하여 구성 요소를 더 예측 가능하게 만들고 유지 관리하기 쉽게 만듭니다.

2. 스타일 분리

Shadow DOM을 사용하면 그림자 트리 내부의 콘텐츠에만 적용되는 스타일을 정의할 수 있습니다. 이러한 격리를 통해 구성 요소의 스타일이 페이지의 나머지 부분에 영향을 주지 않으며 그 반대의 경우도 마찬가지입니다.

3. 향상된 재사용성

캡슐화된 구성 요소는 독립적이므로 재사용이 더 쉽습니다. 통합 문제에 대한 걱정 없이 다양한 프로젝트에서 이러한 구성 요소를 쉽게 공유하고 사용할 수 있습니다.

Shadow DOM 생성

JavaScript에서 Shadow DOM을 생성하는 간단한 예를 살펴보겠습니다.



    Shadow DOM Example

이 예에서는 새로운 맞춤 요소 를 정의합니다. 생성자 내에서 this.attachShadow({ mode: 'open' })을 사용하여 섀도우 루트를 연결한 다음 여기에 일부 콘텐츠를 추가합니다. 섀도우 루트 내에 정의된 스타일은 문서의 나머지 부분과 격리됩니다.

Shadow DOM 모드

섀도 루트를 생성할 때 모드를 열림 또는 닫힘으로 지정할 수 있습니다.

  • 개방 모드: JavaScript를 사용하여 섀도우 루트에 액세스할 수 있으므로 상호 작용 및 조작이 가능합니다.
  • 폐쇄 모드: 섀도우 루트는 JavaScript에서 액세스할 수 없으므로 더 높은 수준의 캡슐화를 제공합니다.

폐쇄 모드의 예

const shadow = this.attachShadow({ mode: 'closed' });

이 모드에서는 구성 요소 외부에서 섀도우에 액세스할 수 없으므로 추가 보호 계층이 추가됩니다.

Shadow DOM 스타일링

Shadow DOM 내부에서 직접 스타일을 정의할 수 있습니다. 이러한 스타일은 그림자 트리 내의 콘텐츠에만 적용됩니다.

const style = document.createElement('style');
style.textContent = `
    div {
        font-size: 20px;
        color: red;
    }
`;
shadow.appendChild(style);

섀도우 루트에

결론

Shadow DOM은 캡슐화 및 스타일 격리를 제공하여 웹 구성 요소를 구축하는 방식을 향상시키는 강력한 기능입니다. 개발자는 Shadow DOM을 활용하여 모든 웹 애플리케이션에 원활하게 통합되는 모듈식, 재사용 및 유지 관리 가능한 구성 요소를 만들 수 있습니다. Shadow DOM을 이해하고 활용하는 것은 현대 웹 개발자에게 귀중한 기술입니다.

릴리스 선언문 이 기사는 https://dev.to/mdhassanpatwary/understanding-shadow-dom-the-key-to-encapsulated-web-comComponents-4bki?1에 복제되어 있습니다. 침해가 있는 경우에는 [email protected]으로 문의하시기 바랍니다. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3