Skip to content

26 - v-model #1578

Open
Open
@veagxxx

Description

@veagxxx
<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>

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions