Vue3
HTML
<script src="https://unpkg.com/vue@3.5.25/dist/vue.global.prod.js"></script>
<div id="app"></div>
JavaScript
const { createApp, h } = Vue
customElements.define('my-element', class extends HTMLElement {
#value = 2
get value() {
return this.#value
}
set value(value) {
this.#value = value
this.innerHTML = JSON.stringify(value)
}
})
const app = createApp({
render() {
return [
h('my-element', { value: null })
]
}
})
app.mount('#app')