将负载添加到香草 JavaScript 事件

Add payload to vanilla JavaScript Event

有没有办法像在 jQuery 中那样将负载添加到普通 JavaScript 事件?

// jQuery
$(document).trigger('event', payload);

// Vanilla JS
window.dispatchEvent(new Event('event', ???

我想我必须使用我自己的某种事件总线?

尝试利用 CustomEvent ,参见 Creating and triggering events

function eventHandler(e) {
  console.log("detail:", e.detail);
}

window.addEventListener("build", eventHandler);

window.dispatchEvent(new CustomEvent("build", {"detail": {"abc":123}}));