2

我在asp.net ajax 应用程序中的JS 有点问题。我在 TypeScript 文件中有很多 JS 代码。它使像我这样具有有限 JS 经验的人编写代码变得更加容易。

但是我也使用 MS ASP.NET ajax 提供的 $find() 方法。我这样做是因为我在我的应用程序中使用了 Telerik RadDock,这是我可以在 JS 中操作 RadDocks 的唯一方法。

我更改标题,从 JS 关闭和打开它们。

现在我想在我的 TypeScript 文件中包含所有代码,但不幸的是它无法识别函数 $find()。

所以每次我需要使用 $find() 函数时,我都会创建一个新函数并将其直接放在我的 aspx 页面中,然后我会从我的打字稿文件中引用它。

即使不理想,一两个功能也可以,但现在它已成为一个真正的问题。aspx 文件中有很多代码。

任何人都可以建议我如何解决这个问题。有什么方法可以引用我的 TypeScript 文件中的 $find() 方法吗?

4

2 回答 2

2

快速解决方法是为 find 方法添加声明,如下所示:

declare var $find;

这使您可以以任何您喜欢的方式使用它,但不会让您自动完成。

var result = $find();

在此示例result中,将类型为any.

如果您想要更多的自动完成功能,可以使声明更加明确 - 我不知道该函数的作用,但如果它接受一个字符串并返回一个数字,您可以将它们添加到您的声明中:

declare var $find: (input: string) => number;

var result = $find('Example');

现在result变量将是类型number,如果你不传递字符串,TypeScript 会警告你。

于 2013-05-31T13:46:07.573 回答
0

You can also install the DefinitelyTyped microsoft ajax library. I prefer to install from nuget. Then include this line in your javascript:

/// <reference path="/Scripts/typings/microsoft-ajax/microsoft.ajax.d.ts" />
于 2017-01-03T03:41:57.887 回答