我收到以下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'
有人知道这是什么意思吗?
5条答案
按热度按时间bvpmtnay1#
window.location
的类型是Location
,而.attr('data-href')
返回一个字符串,所以你必须把它赋给同样是字符串类型的window.location.href
。对于这个:
pu3pd22g2#
您已错过
href
:标准,将
window.location.href
用作window.location
在技术上是一个包含以下内容的对象:尝试
smtd7mpg3#
Location接口上有一个
assign
方法,当传递字符串时,它可以很好地处理typescript,并且与window.location = LOCATION
的工作原理相同。这个方法似乎已经存在很长时间了(IE 5.5!)。
https://developer.mozilla.org/en-US/docs/Web/API/Location/assign
oiopk7p54#
在实现复杂的PayPal集成时,我注意到使用
window.location
的一个非常令人信服的理由,即it does not requireSAME ORIGIN
。因此,我们做了如下操作:
取代:
在OP的情况下:
kqlmhetl5#
只需添加href
就像这样: