WebComponent小demo

本文探讨了WebComponent在组件化开发中的趋势,并详细介绍了如何利用Custom Elements和Shadow DOM技术实现一个Collapse折叠面板组件。内容包括组件的核心技术、优势、兼容性问题,以及 Collapse 组件的定义和实现步骤。
摘要由CSDN通过智能技术生成

未来组件化开发趋势WebComponent

 

优点:原生组件,不需要框架,性能好代码少。
缺点:兼容性问题

组件化好处: 高内聚、可重用、可组合WebComponent

一、 核心三项技术

  • Custom elements:一组JavaScript API,允许您定义custom elements及其行为,然后可以在您的用户界面中按照需要使用它们
  • Shadow DOM:一组JavaScript API,用于将封装的“影子”DOM树附加到元素(与主文档DOM分开呈现)并控制其关联的功能。通过这种方式,您可以保持元素的功能私有,这样它们就可以被脚本化和样式化,而不用担心与文档的其他部分发生冲突。
  • HTML templates: <template> 和 <slot> 元素使您可以编写不在呈现页面中显示的标记模板。然后它们可以作为自定义元素结构的基础被多次重用。

 

组件的名字必须以中划线分割,避免与native标签冲突

 

  • shadow DOM 可以实现真正的隔离机制 

 

 

 

二、实现Collapse 折叠面板组件

 

折叠分栏组件

1、组件使用

<zf-collapse >
        <zf-collapse-item title="Node" name="1">
            <div>nodejs welcome</div>
        </zf-collapse-item>
        <zf-collapse-item title="react" name="2">
            <div>react welcome</div>
        </zf-collapse-item>
        <zf-collapse-item title="vue" name="3">
            <div>vue welcome</div>
        </zf-collapse-item>
    </zf-collapse>

2、定义组件模板

<!-- 没有实际意义, 不会渲染到页面上 -->
    <template id="collapse_tmpl&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值