如何覆盖v-on:在vue中单击以进行记录

时间:2019-05-24 08:07:48

标签: vue.js onclick dom-events vue-directives

希望实现一些日志记录,目的是为使用Vue编写的Web应用程序生成一些使用情况统计信息。

我想避免在每次“点击”回调中或每次回调中编写明确的“ log”语句。

是否可以包装/覆盖v-on:click指令以首先执行日志记录,然后执行回调?

2 个答案:

答案 0 :(得分:1)

据我所知,不可能对所有v-on:clicks都同时进行。由于事件处理程序已连接到特定元素,因此您需要分别为每个元素执行此操作。 相反,您可以为单击事件添加事件监听器,如下所示:

window.addEventListener('click', e => console.log(e))

或类似的

document.onclick = e => console.log(e)

请注意,即使它不在v-on元素上,这也会记录每次单击。这里的事件为您提供了被单击的源元素,您也许可以用来定义该单击是否与您的日志记录相关。

答案 1 :(得分:1)

上一篇文章可能对您有用: Extend vueJs directive v-on:click

用于单击事件元素的包装器组件。