美文网首页
web components

web components

作者: ahappyone | 来源:发表于2018-11-23 11:43 被阅读0次

web components:一种原生的写组件的方式。下面将主要介绍四个概念:custom elementshadow DOMtemplate 和 slot

示例 demo

一、custom element

创建 custom 元素:customElements.define(name,constructor,options)

name:元素名称、constructor:定义元素主体。具体定义与使用见文档。

其中主要涉及到下面几个概念:

autonomous custom elements:使用时跟使用 html 元素一样。

customized built-in elements: inherit from basic HTML elements。从 html 元素继承而来,使用时会定义 is 属性。demo

lifecycle callbacks:当元素被添加到 DOM、从 DOM 中移除、被移动、属性更改时会触发的回调函数。connectedCallback \disconnectedCallback \adoptedCallback \attributeChangedCallback

二、shadow DOM

原文较准确:The Shadow DOM API is a key part of this, providing a way to attach a hidden separated DOM to an element. 创建一个与外界隔离的 DOM 结构。

先介绍几个概念:

shadow host:shadow 载体节点,添加 shadow root 的 DOM 节点。

shadow tree:类似与 dom tree 的概念。

shadow root:shadow 根节点。

基本使用:

创建 shadow:Element.attachShadow({ mode: 'open' })

可通过设置参数 mode 为 ‘open’/‘closed’,来确定是否允许外部 js 调用该 shadow。

三、template 和 slot

template 主要解决写重复模块的问题。template 可单独使用,需要通过 js 调用才能添加到 DOM 中。与 custom element 结合使用更方便。

添加 slot 后,可以动态地往 template 中添加自定义片段。

注意:样式需添加 style 元素才生效。

相关文章

  • 未来学习规划

    了解Web Components开发;zh-Web_Components、en-Web_Components 了解...

  • 了解 Web Components

    Web Components 首先来了解下 Web Components 的基本概念, Web Component...

  • web components

    web components:一种原生的写组件的方式。下面将主要介绍四个概念:custom element、sha...

  • Web Components

    作用: Web组件化,可复用UI模块。 标准: Web Components不是单一的规范,而是一系列的技术组成,...

  • web components

    首先来看浏览器源生的web components demohttps://www.webcomponents.or...

  • Web Components

    一、组件化开发 1、组件化开发的优势 管理和使用非常容易,加载或卸载组件,只要添加或删除一行代码就可以了 组件非常...

  • Web Components

    定义 浏览器原生支持的一套组件封装技术。这里有两个关键字: 组件技术 浏览器原生 组件化一直是前端完善的方向,从早...

  • Web Components

    Web Components允许创建可重用的定制元素,并且在web应用中使用它们。 HTML Templates ...

  • Web Components

    组件化是前端工程化重要的一环,UI 和 交互(或逻辑)的复用极大的提高开发效率以及减少代码冗余。 目前开源的组件库...

  • Web Components使用(一)

    在使用Web Components之前,我们先看看上一篇文章Web Components简介[https://ww...

网友评论

      本文标题:web components

      本文链接:https://www.haomeiwen.com/subject/djqrfqtx.html