Nuxt EventBus-许多事件的用法

问题描述 投票:0回答:2

在我的Nuxt应用程序中,我有一个Canvas侦听鼠标事件。现在,我想将那些鼠标事件发送到DOM,一切正常。但是我担心Vue有太多事件,因为有数千个事件。当我切换到Vue开发工具时,我的计算机已经开始停顿。我觉得Vue仅用于简单的单击事件,但是我用了很多时间。有没有更好的方法来解决这个问题?

init(){
    document.addEventListener("mousemove", this.mouseMove.bind(this));
}
mouseMove(e){
    EventBus.$emit("MOUSEMOVE", e);
}
vue.js nuxt.js event-bus
2个回答
0
投票

如果您需要在此处和此处添加某些事件侦听器,也可以。只要确保在销毁组件时将其删除即可,例如

mounted() {
  window.addEventListener('eventName', yourMethod);
},

beforeDestroy() {
  window.removeEventListener('eventName', yourMethod);
}

0
投票

如何在短时间内使用debouncer

我猜测您的DOM不会在每个事件上更新,并且需要一些时间才能进行自我更新。因此,减慢事件总线的发射速度,就像每隔50/100 ms就会触发事件。您可以每50 MiliSecond或根据需要向事件总线发送信号。即使您以其他方式解决问题,这也将有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.