Нет , и обычно не требуется в Vue:
При использовании @eventName="handler"
в шаблоне Vue обрабатывает регистрацию и отмену регистрации обработчиков событий.
И поскольку вы можете указать имена событий, составляющих $emit
s, у вас не будет коллизий имен.
Чтобы вручную зарегистрировать и отменить регистрацию EventListener, когда компонент уничтожен:
emitter.$on(component.handleClick)
component.$on("$destroy", () => emitter.$off('click', component.handleClick))
Объявите handleClick в methods:
, который создает уникальный обратный вызов, связанный с компонентом.