<counter-button> clicks
HTML
<script>
customElements.define(`counter-button`, class extends HTMLElement {
connectedCallback() {
this.clicks = this.getAttribute(`clicks`) || 0
this.clicked = _ => `I've been clicked ${this.clicks++} times`
this.innerHTML = `<button onclick=this.innerHTML=this.parentNode.clicked()>${this.clicked()}</button>`
}
});
</script>
<counter-button clicks=10></counter-button>