我在页面上有一个recaptcha,我正在尝试使用data-callback
来调用导出的TypeScript函数。除非我使用普通的Javascript,否则它似乎不起作用。这是我的Html:
<div class="g-recaptcha" data-sitekey="<my key>" data-theme="dark"
data-size="normal" data-callback="Landing.enableButton"></div>
这是我的打字稿:
namespace Landing {
export function enableButton() {
alert("Worked!");
}
}
这不起作用。我也尝试了这个:
<div class="g-recaptcha" data-sitekey="<my key>" data-theme="dark"
data-size="normal" data-callback="enableButton"></div>
这也行不通。现在,如果我将其移至Javascript,则可行:
<div class="g-recaptcha" data-sitekey="<my key>" data-theme="dark"
data-size="normal" data-callback="enableButton"></div>
<script type="text/javascript">
function enableButton() {
alert("Worked!");
}
</script>
这可以按预期工作。无论如何使用纯Typecript来使其工作?
修改
为了澄清,我正在使用Visual Studio 2017,它会自动将我的TS文件编译成JS。我从我的观点中包括它:
<script src="~/Scripts/pages/landing.js" type="text/javascript"></script>
我也可以这样做,证明TS是有效的并且被包括在内:
<script type="text/javascript">
function enabledButton() {
Landing.enableButton();
}
</script>
这有效,我得到了警告,这是在TS文件中,这证明我的编译JS文件正在被包含。