コンテンツにスキップ

一部だけを使う

一部の機能を使うために、ベースクラス全体を拡張する必要はありません。すべての内部機能は個別に公開・利用可能なので、自分のクラスの上で実質的にその挙動を構築することができます。

以下は、バニラの HTMLElement を拡張したクラスで html タグ付きテンプレートを使う例です。CodePenでも見られます ↗、あるいは実際に動く様子はこちら: 一部だけを使うデモ ↗

import { html } from 'https://esm.sh/web-component-base@latest/html'
import { createElement } from 'https://esm.sh/web-component-base@latest/utils'
class MyQuote extends HTMLElement {
connectedCallback() {
const el = createElement(
html` <button onClick=${() => alert('hey')}>hey</button>`
)
this.appendChild(el)
}
}
customElements.define('my-quote', MyQuote)