为什么要在Web Components中使用Slotted?

Slotted最早是在Shadow DOM规范中提出的一个概念,我们可以将其翻译为插槽或者卡槽。Slotted有两种用途:

  1. 将内容从组件的Shadow DOM分发到组件外部的DOM中
  2. 协助在组件内部控制布局和样式

在使用自定义元素进行开发时,通常会遇到一种情况,即将某几个元素组成一个子组件存放在父组件内,但是这几个子组件内的元素样式和表现与其他部分不同,难以统一。这时,我们可以借助Slotting来实现组件分离并能够进行定制化的需求。

作为Web Components的规范,Slotted在很多地方都有运用,比如可以将Modal组件与Dropdown下拉框组件中的各个元素进行组件分离,来实现更灵活的开发和样式定制。

下面是一个使用Slotting实现的简单的Modal组件示例:

相关信息