从typescript调用JavaScript方法

从typescript调用JavaScript方法,javascript,angular,typescript,Javascript,Angular,Typescript,目前,我正在尝试将work与文档的在线视图结合使用,我发现了这个网站 当我走向开发人员API时。我发现我可以通过传递URL来阅读任何文档。但我正在研究angular 4,它使用打字脚本,所以我确实调用了 因此,我将js代码放在index.html中 index.html <script type="text/javascript" src="https://api.rollapp.com/1/js/rollmyfile.js"></script> 但是,我仍然无法创建R

目前,我正在尝试将work与文档的在线视图结合使用,我发现了这个网站

当我走向开发人员API时。我发现我可以通过传递URL来阅读任何文档。但我正在研究angular 4,它使用打字脚本,所以我确实调用了

因此,我将js代码放在index.html中

index.html

<script type="text/javascript" src="https://api.rollapp.com/1/js/rollmyfile.js"></script>
但是,我仍然无法创建RollMyFile的实例

我发现
[ts]找不到名称“RollMyFile”
错误


有什么我做错了吗?

您需要在顶部声明RollMyFile,以便在TS文件中使用该函数

 declare const RollMyFile: any;

ngOnInit() {
 console.log("hi");
 var key = "SeCur3AP1K3y";
 var rollMyFile = new RollMyFile(key);
 console.log('rollMyFile',rollMyFile)
}

由于密钥错误,此控制台显示错误。

请在您的组件中尝试以下操作:

declare RollMyFile: any;
constructor(private _script: ScriptLoaderService) {}
ngOnInit() {
    this._script.load('body', 'https://api.rollapp.com/1/js/rollmyfile.js')
        .then(result => {
        });
    }
}
在代码中使用
RollMyFile
,如下所示:

(<any>RollMyFile).somfunction();
(RollMyFile.somfunction();

您可能应该在需要的组件中的某个位置声明您的RollMyFile
声明RollMyFile:any
。如果你有打字机就更好了,但这应该足以让它工作。我打了,但它给我带来了一个错误
找不到名称“RollMyFile”。您的意思是实例成员“this.RollMyFile”
您可以将您尝试调用的组件添加到您的问题中吗?提示:
当前,获得了有效密钥,但当我按照您的步骤操作时,它抛出了一个错误<代码>错误类型错误:无法设置未定义的属性“\u apiHost”
在函数名的from中添加新关键字..检查更新的解决方案
declare RollMyFile: any;
constructor(private _script: ScriptLoaderService) {}
ngOnInit() {
    this._script.load('body', 'https://api.rollapp.com/1/js/rollmyfile.js')
        .then(result => {
        });
    }
}
(<any>RollMyFile).somfunction();