UNPKG

joicomponents

Version:

Design patterns to build native web components

35 lines (29 loc) 844 B
<template> <style> div { border: 4px solid green; } </style> <div> <slot>Hello sunshine</slot> </div> </template> <script type="module"> import {SlotchangeMixin} from "../../src/slot/SlotChildMixin.js"; class GreenFrame extends SlotchangeMixin(HTMLElement) { constructor() { super(); this.attachShadow({mode: "open"}); const templ = document.querySelector("template").content.cloneNode(true); this.shadowRoot.appendChild(templ); } slotCallback(slot, fallbackMode){ console.log(this.id, fallbackMode, slot); } } customElements.define("green-frame", GreenFrame); setTimeout(function () { const two = document.querySelector("#two"); two.innerHTML = ""; }, 3000); </script> <green-frame id="one"></green-frame> <green-frame id="two">¯\_(ツ)_/¯</green-frame>