次の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
_はLocation
型であり、.attr('data-href')
は文字列を返すので、文字列型の_window.location.href
_に割り当てる必要があります。そのためには、次の行を置き換えます。
_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');