在window中 js 编写一个全局触发事件并携带参数
// 触发全局事件(携带参数)window.triggerGlobalEvent = (eventName, data) => {// 创建自定义事件,参数通过 detail 传递const event = new CustomEvent(eventName, {detail: data,bubbles: true, // 允许事件冒泡cancelable: true // 允许事件取消});// 在 window 对象上触发事件window.dispatchEvent(event);};// 示例:触发全局事件并携带用户数据 这个就是触发全局事件的window.triggerGlobalEvent("userLoggedIn", {userId: 10,name: "John",role: "admin"});/*****************************下面的代码就是写到任何子应用中的监听的方法****************************/// 监听全局事件const listenGlobalEvent = (eventName, callback) => {// 在 window 对象上监听事件window.addEventListener(eventName, (e) => {// 通过 e.detail 获取传递的参数callback(e.detail);});};// 示例:监听名为 "userLoggedIn" 的全局事件listenGlobalEvent("userLoggedIn", (userData) => {console.log("用户已登录:", userData);// 输出:用户已登录: { userId: 123, name: "John" }});下图中anifun呢是一个 按钮的点击事件。