如何覆盖 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 可能适合您:
点击事件元素的包装器组件。
希望实现一些日志记录,目的是为使用 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 可能适合您:
点击事件元素的包装器组件。