我正在尝试学习 Vue.js 并来到一个实践示例,我需要在其中实现一个自定义指令,该指令适用于 lice 'v-on'。这意味着我需要在我的自定义指令上捕获点击事件并调用一个方法。
我想到的模板。
<template>
<h1 v-my-on:click="alertMe">Click</h1>
</template>
问题是我不知道如何在自定义指令中捕获点击事件。请原谅下面的笨拙代码。
<script>
export default {
methods: {
alertMe() {
alert('The Alert!');
}
},
directives: {
'my-on': {
bind(el, binding, vnode) {
console.log('bind');
el.addEventListener('click',()=>{
console.log('bind');
vnode.context.$emit('click');
});
},
}
}
}
</script>
谁能帮我理解这是如何工作的?我没有找到任何类似的例子。