vue3中自定义$emit $on

1,vue3+vite中已经废弃了 $emit  $on,需要自定义来实现此功能

2,自定义文件 enventBus.js ,具体源码如下:

    

export default{

    map:{},

    $emit(name,params){

        if(this.map[name]==null){

       

        }else{

            this.map[name].detail=params;

            window.dispatchEvent(this.map[name]);

        }

    },

    $on(name,work){

        let myEvent = new Event(name);

        this.map[name]=myEvent;

        window.addEventListener(name, (event)=>{

            work(this.map[name].detail);

        });

    }

}

3,在main.js中引入此工具类

你可能感兴趣的:(vue,javascript,前端,vue.js,1024程序员节)