淘先锋技术网

首页 1 2 3 4 5 6 7

Vue subscribe功能可以让我们在组件销毁时自动取消对一些事件的订阅,防止内存泄露。在Vue中,有两种方式可以使用subscribe功能:使用事件总线和使用mixin。

vue subscribe

1. 使用事件总线


// 创建一个事件总线实例
const EventBus = new Vue();

// 订阅一个事件
EventBus.$on("event", callback);

// 发布一个事件
EventBus.$emit("event", data);

2. 使用mixin


const myMixin = {
  created() {
    this.$subscribe("event", this.callback);
  },
  destroyed() {
    this.$unsubscribe("event", this.callback);
  }
}

需要注意的是,如果在subscribe的回调函数中使用了this,那么要确保正确绑定this,否则可能会出现错误。