Javascript 在Angular中,如何访问iife中初始化的全局变量?

Javascript 在Angular中,如何访问iife中初始化的全局变量?,javascript,angular,typescript,Javascript,Angular,Typescript,我是个新手,所以请耐心点。我正在将一个应用程序从Asp.net MVC5升级到Angular,该应用程序所做的一件事是通过从第三方下载javascript文件连接到第三方系统,以通过对象建立凭据和通信。看起来这个对象是一个iife,所以只要加载js文件,这个对象就被初始化了。我已经找到了一种在我的组件中动态加载脚本的方法,通过将脚本添加到文档的头部,我遇到的问题是,一旦iife执行,如何在我的组件中获取该对象。我知道正在加载外部文件并初始化对象,因为我可以在浏览器上的开发工具中看到它。这个Jav

我是个新手,所以请耐心点。我正在将一个应用程序从Asp.net MVC5升级到Angular,该应用程序所做的一件事是通过从第三方下载javascript文件连接到第三方系统,以通过对象建立凭据和通信。看起来这个对象是一个iife,所以只要加载js文件,这个对象就被初始化了。我已经找到了一种在我的组件中动态加载脚本的方法,通过将脚本添加到文档的头部,我遇到的问题是,一旦iife执行,如何在我的组件中获取该对象。我知道正在加载外部文件并初始化对象,因为我可以在浏览器上的开发工具中看到它。这个JavaScript文件不是我可以从npm获得的,也不是我可以添加到我的资产文件夹中的文件,不幸的是,到目前为止,我只找到了这个文件。

您可以在组件内部创建一个变量,并修改iife,以使用您希望存储到组件中的数据设置该变量,如下所示

export class MyComponent{

    MyNewVariable: string; //or make it whatever type you need

    constructor(){}

    (function(){
        //do stuff
        this.MyNewVariable = data; //data being whatever you want to store in the var
    })();
}

完成后,您可以运行另一个以某种方式使用数据的函数。

iLife位于我引用的第三方javascript文件中,因此我无法对其进行任何更改。我试图弄清楚如何获取iife中声明的变量,并在我的组件中获取对它的引用。