vue mitt 解决多次触发问题

vue 下载包 npm install --save mitt 

1.在main.js 里面  

import mitt from "mitt";
const app = createApp(App);
app.config.globalProperties.$bus = mitt(); // 自定义添加
 
2.使用方法
 (1)在任意一个页面触发  添加一个动态组件
  this.$nextTick(function () {
          this.$bus.emit("changeOdr", row.odrNo);
        });
 (2) 在动态组件里面  
 mounted() {
    this.$bus.on("changeOdr", (key) => {
      this.odrNo = key;
      this.getData();
    });
  },
(3)解决触发多次问题 每当页面关闭的时候 去销毁这个事务线程 (还是在那个动态组件里面)【ps vue3.0 页面销毁生命周期是 beforeUnmount】
beforeUnmount() {
    this.$bus.all.delete("changeOdr");
  },
 
 
 
原文地址:https://www.cnblogs.com/dawnzhao/p/14825612.html