我是第三方脚本,不 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中工作得非常好,但现在我的控制台出错:
它仍在使用,但我不知道如何处理此错误。是否有更好的方法可以将功能提供给全球范围?