Подтвердить что ты не робот

Как я могу объявить функцию из другого файла в Typescript?

У меня есть следующая функция в файле:

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

В другом файле typescript у меня есть:

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

Я получаю сообщение об ошибке "alertwin" не существует в текущей области.

Является ли способ решить это для меня, чтобы определить эту функцию в другом файле, а затем ссылаться на нее? Если да, то каково будет определение?

4b9b3361

Ответ 1

Вы можете сделать это (предполагая, что заголовок и сообщение должны быть строками):

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

declare var alertWin: alertWinInterface;

Вы можете поместить это в тот же файл или поместить в отдельный файл определений окружающей среды (.d.ts), который вы импортируете:

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

Или вы можете просто импортировать другой файл с фактическим определением функции, но вы не получите поддержку статического ввода.

Ответ 2

Этот подход работает для меня:

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

И как с решением Мэтта вы помещаете его в файл определения, а затем ссылаетесь на него.

Ответ 3

Вам просто нужно сообщить инструментам и компилятору, где найти свою функцию, добавив ссылку на верхнюю часть вашего файла:

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

Кроме того, все ваши параметры в настоящее время напечатаны как any, вы можете ввести их явно, если хотите.

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