兄弟组件全局调用

1.首先建立一个事件文件
兄弟组件全局调用_第1张图片

export default{
    map:{},
    $emit(name,params){
        if(this.map[name]==null){
            console.log("没有找到关于"+name+"的事件,无法触发")
        }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);
        });
    }
}

然后再main.js这里注册
兄弟组件全局调用_第2张图片

传递使用(在这里是vue2的写法)
兄弟组件全局调用_第3张图片

引用的使用(vue3的写法)
兄弟组件全局调用_第4张图片

你可能感兴趣的:(javascript,前端,vue.js)