自定义 v-model 指令

发布时间 2023-06-19 19:56:59作者: EhuanRum
// two.js

export default { bind(el, binding, vnode){ console.log(binding); el.value = binding.value if (/\.async/.test(binding.rawName)) { el.onchange = handleFn; } else { el.oninput = handleFn; } function handleFn(e){ console.log(binding, e); vnode.context[binding.expression] = e.target.value; } }, update(el,binding){ console.log(binding); el.value = binding.value }, }

 

上面定义了一个指令 ,然后注册到VUE

<template>
    <input v-two="msg">
</template>

<script>

import two from './two'

Vue.directive(‘two’, two);

export default {
    data(){
        return {msg: '1'}
    }
}

</script>