Как я могу объявить функцию из другого файла в Typescript?
У меня есть следующая функция в файле:
function alertWin(title, message) {
.......
.......
}
В другом файле typescript у меня есть:
function mvcOnFailure(message) {
"use strict";
alertWin("Internal Application Error", message);
}
Я получаю сообщение об ошибке "alertwin" не существует в текущей области.
Является ли способ решить это для меня, чтобы определить эту функцию в другом файле, а затем ссылаться на нее? Если да, то каково будет определение?
Ответы
Ответ 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 {
//.......
//.......
}