无法从打字稿到达全局变量?

时间:2016-03-21 11:34:39

标签: javascript asp.net-mvc razor typescript

我目前正在使用mvc项目。该项目已外包,所以我自己没有编写代码。

我的任务是将一个Javascript转换为一个打字稿开头。问题是,当我将代码放在ts文件中时,我无法访问全局变量。 Visual Studio只是说"属性在类型窗口"上不存在。

我的.ts文件:

window.location.href = window.Search.URL_Searchfiles;

其中一些位于脚本标记之间的.cshtml文件中,它们使用razor设置变量。

.cshtml文件:

<script>var Search = { URL_Searchfiles: '@Url.Action("Files", "Search")' }</script>

我试图在Typescript中声明变量,但我似乎无法做到正确。 如何从Typescript中获取全局变量?

1 个答案:

答案 0 :(得分:0)

您需要扩展Window界面以向其添加Search元素:

interface Window {
    Search: any;
}

window.location.href = window.Search.URL_Searchfiles;

TypeScript中的接口是开放式的,因此您可以通过它的接口将新成员绑定到特定对象。