小编ser*_*002的帖子

在这种情况下,Svelte 如何使用“this”关键字?

我正在浏览 Svelte 教程并看到这个示例,但对于它是如何工作的感到困惑。(我删除了一些与问题无关的其他代码,完整示例在这里:https://svelte.dev/tutorial/tick

<script>
   async function handleKeydown(event) {
     const { selectionStart, selectionEnd, value } = this;

     await tick();
     this.selectionStart = selectionStart;
     this.selectionEnd = selectionEnd;
   }
</script>

<textarea value={text} on:keydown={handleKeydown}></textarea>
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这里使用“this”的逻辑吗?我不明白它如何知道引用文本区域内的值。它与 textarea 调用的函数以及在引用 textarea 元素的函数内创建上下文是否有关系?

还有为什么像下面的代码这样的东西不起作用?(控制台日志未定义)

function logger(event) {
 console.log(event.value)
}
Run Code Online (Sandbox Code Playgroud)

javascript events dom this svelte

4
推荐指数
1
解决办法
1712
查看次数

标签 统计

dom ×1

events ×1

javascript ×1

svelte ×1

this ×1