美文网首页
web components

web components

作者: zxhnext | 来源:发表于2019-05-15 12:09 被阅读0次
  1. 首先来看浏览器源生的web components demo
    https://www.webcomponents.org
    1.1 来创建一个自定义组件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        class ButtonHelloElement extends HTMLButtonElement { 
            constructor() {
                super()
                this.addEventListener('click', () => { 
                    alert('hello world')
                }) 
            }
        }
        customElements.define('button-hello', ButtonHelloElement, { 
            extends: 'button'
        })
    </script>
    <button is="button-hello">hello world</button>
</body>
</html>

1.2 template

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
        <template id="template">
            <p>Smile!</p>
        </template>
        
        <script>
            const fragment = document.getElementById('template').content.cloneNode(true);
            fragment.firstChild.textContent += "yideng";
            document.body.appendChild(fragment);
        </script>
</body>
</html>

1.3 import
先新建一个tes.html

<body>
    <div class="logo">
        123
    </div>
</body>

然后我们在index.html中引入tes.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="import" href="./tes.html">
</head>
<body>
    <div id="test"></div>
    <script>
        const link = document.querySelector('link[rel=import]')
        const header = link.import;
        const pulse = header.querySelector('div.logo');
        console.log(pulse)
        //获取 import 的 HTML 的 document
        const d = document.currentScript.ownerDocument
    </script>
</body>
</html>

x-tag: https://x-tag.github.io/docs

polymer.js

san.js

omi:https://github.com/Tencent/omi

相关文章

  • 未来学习规划

    了解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/pwywiqtx.html