当前位置: 首页 > 科技观察

看完QuarkDesign,又去深入了解WebComponents

时间:2023-03-19 17:35:22 科技观察

1。前面写过,哈尔滨单车前端团队最近开源的QuarkDesign组件库号称是下一代前端组件库,可以同时在任意车架或无车架上使用。用在。那么,什么是Web组件?2.什么是Web组件?如今,前端生态中框架层出不穷。为了提高生产效率和标准化组件,将针对框架开发组件库。但各种框架互不兼容,需要相应开发适配框架的组件库,这也增加了维护成本。正如物理世界中存在电磁相互作用、强相互作用和弱相互作用一样,需要一个单独的物理理论来解释这三种相互作用引起的物理现象,这使得许多物理学家走向大统一理论,而WebComponents它可以看作是对当今UI组件库“大统一论”的一种解决。Web组件类似于React和Vue等框架中的组件。事实上,很多基于WebComponents的设计也在Vue中使用。这是一个可重用的UI构建块,封装了呈现所需的所有HTML、CSS和基于Javascript的逻辑。最大的区别在于它不依赖于特定的JavaScript框架,而是利用浏览器本机提供的技术,因此您的Web组件与框架无关。3.WebComponents的主要内容WebComponents的主要内容如下:CustomElements:原生提供的API,用于自定义CustomElements和行为。ShadowDOM:原生提供的API,用于封装一个与主文档DOM隔离的私有DOM,不受外部DOM的样式和行为影响。Templates:Attributes:Slots:Lifecyclemethods:接下来按照我的步骤把这些概念在例子中一一实现,把理论一一打破。4.CustomElementsCustomElements是WebComponents中的一个重要特性,它可以为开发者提供将HTML功能封装到自定义标签中以便于复用的能力。也就是说,CustomElements本质上是被用户用来实现在html中的有效使用,比如自定义标签如

`}}//3、注册自定义组件customElements.define("one-button",OneButton)//index.html//4.使用在html中运行显示:5.ShadowDOMShadowDOM与原生DOM的区别在于自定义封装DOM本质上是一个DOM元素。不同的是ShadowDOM可以将自定义DOM片段与其他DOM隔离开来,可以实现不受外部DOM影响的样式,类似于使用iframe嵌入html。也正是ShadowDOM的存在,可以隔离DOM,实现一个独立的组件王国,让自定义组件跨领域框架的约束不再耦合,保证在任何框架、任何框架中都能正常使用。如图:图解来自MDN文档SomeShadowDOM-specificterms:Shadowhost:一个常规的DOM节点,ShadowDOM会附加到这个节点上。Shadowtree:ShadowDOM中的DOM树。Shadowboundary:ShadowDOM结束的地方和常规DOM开始的地方。Shadowroot:Shadow树的根节点。ShadowDOM并不是一个新事物。在原生的