1

我想创建一个全局组件来处理我页面上的警报框和通知。触发器将在其他同级组件中

<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 中实现它?

4

0 回答 0