如何在Angular2组件中使用JavaScript文件?

时间:2016-11-05 08:55:12

标签: javascript angularjs angular typescript webpack

我已经嵌入了一个小部件,它在加载时执行。在普通的html页面中,我会把脚本:

<script src="rectangleDrawing.js"></script>

然后我会将div作为占位符:

<div name="rectangle></div>

现在的问题是,我无法将script放入模板中,因为它会被删除。此外,rectangleDrawing.js不会将自身导出为模块。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

  • <script>放在index.html页面
  • <div..标记放在组件模板

可能该脚本会暴露一些可以在组件中使用的全局变量,它取决于内部及其工作原理......

答案 1 :(得分:0)

这可能不是最优雅的选择,但它确实有效。把它放到你的组件:

ngOnInit() {
    this.loadScript();
}

private loadScript(): void {
    const node = document.createElement('script');
    node.src = 'yourScript.js';
    node.type = 'text/javascript';
    node.async = true;
    node.charset = 'utf-8';
    document.getElementsByTagName('head')[0].appendChild(node);
}