繁体   English   中英

如何从Typescript中的另一个文件声明一个函数?

[英]How can I declare a function from another file in Typescript?

我在文件中有以下功能:

function alertWin(title, message) {
   .......
   .......
}

在另一个打字稿文件中,我有:

function mvcOnFailure(message) {
    "use strict";
    alertWin("Internal Application Error", message);
}

我收到一条错误,说当前范围内不存在“alertwin”。

是解决这个问题的方法让我在另一个文件中定义这个函数然后引用它? 如果是这样,那么定义会是什么样的?

你可以这样做(假设标题和消息都应该是字符串):

interface alertWinInterface{
    (title:string, message: string):any;
}

declare var alertWin: alertWinInterface;

您可以将它放在同一个文件中,或将其放在您导入的单独的环境定义文件(.d.ts)中:

/// <reference path="myDefinitions.d.ts" />

或者,您可以导入具有实际功能定义的其他文件,但您不会获得静态类型支持。

这种方法似乎对我有用:

declare function alertWin(title: string, message: string) : void;

和Matt的解决方案一样,您将其放在定义文件中,然后引用它。

您只需要通过添加对文件顶部的引用来告诉工具和编译器在哪里找到您的函数:

/// <reference path="fileWithFunction.ts" />

此外,您当前所有参数都被输入为any参数,您可以根据需要明确键入它们。

function alertWin(title: string, message: string) : void {
   //.......
   //.......
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM