gpt4 book ai didi

javascript - 从 Scala.js 访问 JS this

转载 作者:行者123 更新时间:2023-12-03 03:04:08 27 4
gpt4 key购买 nike

我正在尝试将此代码从 js 库文档转换为 scala.s:

$('#myTable').on( 'click', 'tbody td', function () {
editor.inline( this, {
submitOnBlur: true
} );
} );

我尝试过的代码:

$("#table").on("click", ".editable", (thiz: js.Dynamic) => {
editor.inline(thiz, JC(
submitOnBlur = true
))
})

但它给了我错误:

Cannot read property 'contents' of undefined at f.inline

最佳答案

你写的回调函数,即

(thiz: js.Dynamic) => {
editor.inline(thiz, JC(
submitOnBlur = true
))
}

是一个只有 1 个参数的函数(恰好称为 thiz),而不是接收 this 作为参数的函数。也就是说,相当于JS中的如下:

function(thiz) {
editor.inline(thiz, JC(...))
}

要访问 this,您需要强制回调函数为 js.ThisFunction,如下所示:

((thiz: js.Dynamic) => {
editor.inline(thiz, JC(
submitOnBlur = true
))
}): js.ThisFunction

这将采用 Scala lambda 的第一个参数(在本例中是唯一一个)并将其附加到 JavaScript 的 this 值,这就是您想要的。

关于javascript - 从 Scala.js 访问 JS this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47246608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com