第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

JavaScript 入門教程

WebComponents

Web Components 是一套不同的技術,允許您創(chuàng)建可重用的定制元素(它們的功能封裝在您的代碼之外)并且在您的 web 應用中使用它們。

Web Components 可以理解成自定義組件。

使用 Web Components 可以達到如原生的 video 標簽的效果,video 標簽在被瀏覽器解析后有許多子節(jié)點,如播放控制器部分的控制按鈕,這些在使用 video 的時候是不需要關心的,也不用手動書寫這些子節(jié)點,同時又能被多處復用。

這些子節(jié)點通常是看不見的,藏起來的,但是通過 Chrome 的設置可以顯示出來。

圖片描述

這種看不見的子節(jié)點被稱為 Shadow DOM,許多文獻稱為 影子節(jié)點 或者 影子 DOM。

Web Components 具有非常好的隔離性,特別在樣式表現(xiàn)上,可以做到完全隔離。

1. 使用

一個 Web Components 繼承自 HTMLElement,然后通過 customElements.define() 來注冊這個 Component。

以下例子?會創(chuàng)建一個名為 to-imooc 的組件。

class ToImooc extends HTMLElement { // Web Components 繼承自 HTMLElement
  constructor() {
    super(); // 調用父類構造函數(shù)

    const link = document.createElement('a'); // 創(chuàng)建一個 a 元素

    link.href = 'javascript:;'; // 默認什么都不做
    link.innerText = 'GOGOGO! Imooc 出發(fā)!'; // 顯示的文案

    link.addEventListener('click', () => { // 跳轉事件
      alert('坐穩(wěn)啦!要發(fā)車啦?。。?);

      window.location.href = '//imooc.com';
    });

    this.append( // this 就是自定義的節(jié)點
      link,
      document.createElement('br'),
    );
  }
}

window.customElements.define('to-imooc', ToImooc);

這樣就創(chuàng)建好了一個自定義的組件。

然后在 HTML 中使用就好了。

<to-imooc></to-imooc>
<to-imooc></to-imooc>
<to-imooc></to-imooc>
<to-imooc></to-imooc>

圖片描述

這樣就完成了一個簡單的組件,可以重復使用。

2. 應用

根據(jù) Can I Use 可以看出,該特性現(xiàn)在瀏覽器支持并不廣泛,不太適合在生產(chǎn)環(huán)境使用,但基于該特性,還是衍射除了許多 “未來”。

圖片描述

2.1 微前端

微前端 尚處在發(fā)展時期,其核心概念和 微服務 相似。

現(xiàn)階段較為常用的微前端框架為 single-spaqiankun,后者是基于前者實現(xiàn)的。

該技術能做到 技術棧無關,即一個應用,能由多個不同技術的子應用構成,同時做到子應用的相互隔離,這里的隔離就可以選擇采用 Web Components 實現(xiàn)。

2.2 Omi

Omi 是由騰訊開源的跨端框架,其就是基于 Web Components 來設計的。

3. 小結

雖然 Web Components 還存在兼容性問題,但可以作為預備知識進行了解,或者應用于一些內部對兼容性無要求的項目。