我想创建一个全局组件来处理我页面上的警报框和通知。触发器将在其他同级组件中
<body>
<alerts/>
<component1 />
<component2/>
</body>
代码alerts.marko
如下
class {
onMount() {
this.subscribeTo(document).on('alert', this.handleAlert)
}
handleAlert() {
// do some animations, make it visible
}
}
我的兄弟组件的代码component1.marko
class {
doSomething() {
// do some async operation
this.emit('alert', alertData);
}
}
问题是这个想法行不通,当它component1
是组件的子alerts
组件并使用on-[event]()
结构时,它可以正常工作。
如何在 marko.js 中实现它?