events - Svelte,on:click 事件在每个块内触发页面加载
问题描述
问题在于,在 svelte on:click 由于某种原因在页面加载时触发。任何人都可以向我解释它为什么会发生以及如何防止它,因此它只会在您实际选中该框时触发。仅当 on:click 在每个块内时才会发生这种情况。
<script>
function handleClick(number) {
alert(number)
}
let numbers = [1,2,3,4,5,6]
</script>
{#each numbers as number}
<input type=checkbox on:click={handleClick(number)}>
{/each}
你可以看看这里
解决方案
的值on:click
应该是一个函数。你正在调用一个函数——它与做这样的事情没有什么不同......
<p>{a} + {b} = {sum(a, b)}</p>
...正如您所料,它会打印调用sum
函数的结果。
相反,请执行以下操作:
<input type=checkbox on:click={() => handleClick(number)}>
推荐阅读
- c++ - 在 C++ 中分隔特定位
- mongodb - MongoDB 不使用 Compass 下载数据库
- math - 旁边没有数字时如何使用“MULT”?
- reactjs - 在 react native 上显示 Linear Gradient 和 React-Native-Deck-Swiper 的问题。我的卡片在右侧被裁剪
- javascript - 如何根据 React 中的前一个元素显示/隐藏元素(TypeScript)
- reactjs - npm start / npm install 在 Windows 10 上的 WSL 安装程序中不起作用 - 错误 EACCES
- python-3.x - Pandas 数据框是否有可能为缺失值而不是 NaN 或 0 留空?
- c# - 使用反射调用 ViewComponent
- javascript - 停止自动播放到轮播嵌入视频上的下一张幻灯片
- javascript - JavaScript throw 语句 *需要帮助*