Angular2倾听全球事件

时间:2017-04-10 14:07:21

标签: javascript angular typescript

我是第三方脚本, npm模块。所以我做的是,我将它作为普通脚本添加到我的index.html,因为没有办法解决这个问题。

<script src="https://myExternalScript.js"></script>

加载myExternalScript.js后,它会下载另一个 js 文件,然后调用一个名为onDiagramReady()的函数。我实施onDiagramLoaded()。因此,为了能够抓住此活动,我已将onDiagramLoaded()添加到我的index.html。看起来像这样:

function onDiagramReady() {
  window.dispatchEvent(new CustomEvent('onDiagramReady', {detail: this.Diagram}));
}

在我的组件中,我@HostListener能够获取上下文。这看起来像这样:

  @HostListener('window:onDiagramReady', ['$event'])
  onReactomeDiagramReadyListener(event) {
    //magic in my component  
  }

所以这在Angular 2.0中工作得非常好,但现在我的控制台出错:enter image description here

它仍在使用,但我不知道如何处理此错误。是否有更好的方法可以将功能提供给全球范围?

0 个答案:

没有答案
相关问题