Vue subscribe功能可以让我们在组件销毁时自动取消对一些事件的订阅,防止内存泄露。在Vue中,有两种方式可以使用subscribe功能:使用事件总线和使用mixin。
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,否则可能会出现错误。