莫方教程网

专业程序员编程教程与实战案例分享

手把手教你用Web Components开发一个跨框架的模态框

前言

有些知识点,比如说Web Components, 自己平时根本用不到,如果不刻意学习和了解,自己的知识体系就会产生盲区,可是每个人的知识盲区那么多,扫的过来嘛。对于这一点,我们要抱有积极的心态,少除一个就少一个。可是要扫除的技术盲区那么多,为什么要优先选择扫除它?这一点看个人偏好,没有标准答案。但有一个大方向是确定的,如果想在技术的道路上走得更远,就得不断清除阻碍自己前行的障碍拓宽自己的技术视野。废话不多说了,现在我们进入今天的主题。

Web Components简介

Web Components 是一组标准,用于创建可重用的、封装良好的自定义元素,能够与标准的 HTML 元素无缝集成。Web Components 使开发者能够定义自己的 HTML 标签,这些标签具有独立的样式和行为,从而增强了组件的可复用性和模块化程度。Web Components 由以下三项技术组成:

Custom Elements(自定义元素)

  • 允许开发者定义自己的 HTML 元素,并赋予这些元素自定义的行为。
  • 通过 customElements.define 方法注册自定义元素。
  • 自定义元素具有生命周期回调方法,例如 connectedCallback(挂载)、disconnectedCallback(卸载)、attributeChangedCallback(属性改变) 等。

Shadow DOM(影子 DOM)

  • 提供了一种封装组件内部 DOM 和样式的方法,使其与外部 DOM 和样式隔离。
  • 使用 attachShadow 方法创建一个影子 DOM 根节点。
  • 影子 DOM 内部的样式和结构不会影响外部的 DOM,反之亦然。

HTML Templates(HTML 模板)

  • 提供了一种定义可重用 HTML 结构的方法,这些结构在页面加载时不会立即呈现。
  • 使用