Установите window.location с помощью TypeScript
Я получаю сообщение об ошибке со следующим кодом 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'
Кто-нибудь знает, что это значит?
Ответы
Ответ 1
window.location
имеет тип Location
, а .attr('data-href')
возвращает строку, поэтому вам нужно назначить ее window.location.href
, которая также имеет тип строки. Для этого замените следующую строку:
window.location = $link.attr('data-href');
для этого:
window.location.href = $link.attr('data-href');
Ответ 2
вы пропустили 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');