从Angular 6组件调用动态加载的JS

时间:2018-08-07 15:04:56

标签: angular angular6 typescript-typings

以下情况:我有一个外部JS,它是在运行时从Web上加载的:

<script src="https://someapi.com/foreignJS.js" type="text/javascript">

加载后,我需要致电foreignJS.init()。在一个较旧的项目(创建为Angular 2,随后升级为Angular 6)中,它在组件和types.d.ts中使用declare var foreignJS: any

但是,在使用Angular 6和angular-cli创建的新项目中,没有types.d.ts,仅在组件中进行声明就给我留下了foreignJS是未定义的错误。我尝试手动创建types.d.ts,但是这也不起作用。 JS已正确加载,请在控制台中检查。

所以问题基本上是,如何在Angular 6中动态加载的脚本上调用JavaScript函数。

更新: 实际的问题当然在其他地方。在我尝试访问脚本时,该脚本只是尚未加载。出于某种原因,它仅在onInit完成后才加载。

1 个答案:

答案 0 :(得分:0)

正如我在编辑中所写的那样,实际问题出在其他地方,(令我满意的)解决方案是将脚本加载到“父”组件中。