纯原生组件化-模块化的探索
纯原生的组件化、模块化的一次小小的尝试,用到了如下几个新特性: shadown-DOM 对 HTML 标签结构的一个封装,真正意义上的组件,能保证 shadow-DOM 中的 DOM 元素不会被外界影响,内部也不会影响到外部的行为,变成了一个独立的模块。 custom-elements 可以在浏览器中注册自定义的标签来使用,类似这样的效果 <my-tag></my-tag> ,标签内容基于两种形式:1. 普通子元素 2. shadow-DOM custom-events 使用各种自定义事件辅助完成组件之间的通讯 ES-module 为浏览器原生支持的模块化的一种方案,直接在浏览器里使用 import 和 export 这类语法,以 module 的方式来引入 js 文件。 几个算是比较新的事物,聚集在一起确实可以做点儿好玩的东西出来。 shadow-DOM 想象有这样的一个场景,类似资料卡的东东,需要在页面中展示头像和用户的名称。 头像在左,宽高 100px ,圆形; 姓名在右,字号 16px ,垂直居中。 这算是一段很简单的 CSS 了,实现起来大概是这样的: <style> .info { display: flex; } .info-avatar { width: 100px; height: 100px; border-radius: 50%; } .info-name {