我在asp.net ajax应用程序中遇到了一些问题。 我有很多在TypeScript文件中的JS代码。通过一些有限的JS经验,可以更轻松地为像我这样的人编写代码。
但是我也使用MS ASP.NET ajax提供的$ find()方法。 我这样做是因为我在我的应用程序中使用了Telerik RadDock,这是我可以在JS中操作RadDocks的唯一方法。
我更改标题,关闭并从JS打开它们。
现在我想在我的TypeScript文件中包含所有代码,但不幸的是它无法识别函数$ find()。
所以每当我需要使用$ find()函数时,我创建一个新函数并将其直接放在我的aspx页面中,然后我从我的打字稿文件中引用它。
即使不理想,也可以使用一两个功能,但现在它已成为一个真正的问题。 aspx文件中有很多代码。
任何人都可以就如何解决此问题向我提出建议。有什么方法可以引用我的TypeScript文件中的$ find()方法吗?
答案 0 :(得分:2)
快速解决方法是为find方法添加声明,如下所示:
declare var $find;
这使您可以以任何方式使用它,但不会自动完成。
var result = $find();
在此示例中,result
类型为any
。
如果你想要更多的自动完成,你可以使声明更明确 - 我不知道该函数的作用,但如果它接受了一个字符串并返回了一个数字,你可以将它们添加到你的声明:
declare var $find: (input: string) => number;
var result = $find('Example');
现在result
变量的类型为number
,如果你没有传递字符串,TypeScript会发出警告。
答案 1 :(得分:0)
您还可以安装DefinitelyTyped microsoft ajax库。我更喜欢从nuget安装。然后在您的javascript中包含此行:
/// <reference path="/Scripts/typings/microsoft-ajax/microsoft.ajax.d.ts" />