用TypeScript设置window.location

我遇到以下TypeScript代码的错误:

///<reference path='../../../Shared/typescript/jquery.d.ts' /> ///<reference path='../../../Shared/typescript/jqueryStatic.d.ts' /> function accessControls(action: Action) { $('#logoutLink') .click(function () { var $link = $(this); window.location = $link.attr('data-href'); }); } 

我得到一个下划线的红色错误为以下内容:

 $link.attr('data-href'); 

消息说:

 Cannot convert 'string' to 'Location': Type 'String' is missing property 'reload' from type 'Location' 

有谁知道这是什么意思?

window.location的types是Location.attr('data-href')返回一个string,所以你必须把它分配给window.location.href ,它也是stringtypes的。 为此,请replace您的以下行:

 window.location = $link.attr('data-href'); 

对于这一个:

 window.location.href = $link.attr('data-href'); 

你错过了href

标准,使用window.location.href作为window.location在技​​术上是一个对象,其中包含:

 Properties hash host hostname href <--- you need this pathname (relative to the host) port protocol search 

尝试

  window.location.href = $link.attr('data-href');