【发布时间】:2018-07-07 06:06:39
【问题描述】:
我正在尝试学习 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>
谁能帮我理解它是如何工作的?我没有找到任何类似的例子。
【问题讨论】:
-
你能留下一个解释它的答案,以便我可以将其标记为接受吗?
标签: vue.js vuejs2 vue-directives