如何覆盖 v-on:click in vue 以进行日志记录

How to override v-on:click in vue for logging purposes

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

我想避免在每个 'on click' 回调中或与每个 'on click' 回调一起编写明确的 'log' 语句。

是否可以wrap/override v-on:click 指令先执行日志记录,然后执行回调?

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

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

或者像这样

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

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

之前的 post 可能适合您:

点击事件元素的包装器组件。