HTML5Web组件的应用
时间:2014-7-16
如果说,自HTML于20多年前被前次创建以来,Web组成规范是其最重大的改变,那么并不是夸大其词.就连被大肆宣传的HTML5也只是一个小方面-版本更新实际上并没有添加任何真正创新的功能.
Web组件是一组HTML附属物以及旨在令网络应用接口更多元化的DOM的集合名称,即,它是一种可重复利用的部件规范.目前,主要存在组件,模板,装饰,自定义元素以及Shadow DOM.这次我们依次介绍这四种组件的功能,但首先要介绍一下这四种组件相互结合的功能.
目前,在HTML中建立应用组成的一个本质问题是,用于建立这些组件的元素是DOM的组成部分,并且正因如此,这些元素对于来自CSS或JavaScript的冲突处于开放状态,这些冲突可以是集成冲突,例如应用于层叠在组件元素中母元素的规则,或反过来,应用于泄露或层叠到DOM其他位置的组件元素的规则.
另一个问题由有命名冲突引起的,在这种情况下,相同类或相同ID被无意地用于一个网站的不同页面,这意味着在一个元素中特意声明的规则将自动适用于其他元素.这问题觉于缺少明确命名计划的大型网站,当选择顺将不必要的功能操作应用于一个元素时,JavaScript中的冲突将会使这个问题变得更加严重.
防止此类冲突的最佳方式是将组件与DOM的其余部分分隔开来以防止任何继承或泄露.这种技术被称为封闭,它是面向对象编程语言的基础.
通过允许开发人员创建只在呈现的页面而非DOM本身中呈现的元素,Web组件试图的封装引入HTML DOM.Web组件将会提供一种构建部件的方式,在一个网站的多个网页上,可以重复使用这些部件而无需担心CSS和JavaScript会带来的冲突,因为这些构件存在于一个平等的DOM中.