删除 Nuxt/Vue 中的事件监听器

Moj*_*ari 3 vue.js vuejs2 nuxt.js

我使用的是 Nuxtjs 2.13,我想知道“我应该如何删除事件侦听器(有必要吗??)”。

我不是在谈论 jsaddEventListenerremoveEventListener. 我更好奇的是this.$emit(),$nuxt.$emit()$nuxt.$on()。有没有办法删除$nuxt.$on()或侦听组件,<mycomp @myevent="do()" />是否beforeDestroy()有必要?

由于我的 Nuxt 项目在我的服务器上使用了如此多的 RAM,我认为需要进行一些优化。

小智 5

https://v3.vuejs.org/api/options-lifecycle-hooks.html#unmounted

当调用这个钩子(unmounted - OP)时,组件实例的所有指令都已被解除绑定,所有事件侦听器已被删除,并且所有子组件实例也已被卸载。

不过,有一个vm.$off可以

删除自定义事件侦听器。 https://v2.vuejs.org/v2/api/#vm-off

我看到它在 Nuxt 上下文中用于删除$nuxt.$on侦听器: https://medium.com/@aneesshameed/event-bus-in-nuxt-7728315e81b6

因此,如果需要,请使用$nuxt.$off删除 Nuxt 中的自定义事件。