我有一个Nuxt网站,其外部链接分散在各个页面和组件上:
<b-link :href="http://example.com" class="external"></b-link>
假设我有一个函数,当单击外部链接时会告诉我的API并记录一些有关它的数据:
async logExternalClick(el) {
await this.$axios.post('http://api.example.com', {
current_user_id: this.$store.state.auth.user_id,
url: el.href
}
}
(此方法非常快速,并且可以立即有效返回。)
如果这仅仅是一个组件,我可以将该函数添加到methods
节(可以从中访问商店),并在所有链接上使用@click
处理程序。
从体系结构的角度来看,我应该如何注册我的函数和事件侦听器,以使其在任何地方都可用,而不必修改我要使用的每个组件?