Open
Description
<script setup lang='ts'>
import { ref } from "vue"
/**
* Implement a custom directive
* Create a two-way binding on a form input element
*
*/
const VOhModel = {
mounted(el, binding) {
el.value = binding.value;
el.onChange = (e) => {
value.value = e.target.value;
}
el.addEventListener('input', el.onChange);
},
beforeUnmount(el) {
el.removeEventListener('input', el.onChange);
}
}
const value = ref("Hello Vue.js")
</script>
<template>
<input v-oh-model="value" type="text" />
<p>{{ value }}</p>
</template>