【问题标题】:Svelte, on:click event inside each block triggers on page loadSvelte,on:click 事件在每个块内触发页面加载
【发布时间】:2020-10-08 06:35:42
【问题描述】:

问题是在 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}

你可以看看here

【问题讨论】:

    标签: events onclick each svelte pageload


    【解决方案1】:

    on:click 的值应该是一个函数。您正在调用一个函数——这与做这样的事情没有什么不同......

    <p>{a} + {b} = {sum(a, b)}</p>
    

    ...正如您所料,它会打印调用sum 函数的结果。

    相反,这样做:

    <input type=checkbox on:click={() => handleClick(number)}>
    

    【讨论】:

    • 正确回复。幸运的是,我一写出问题就理解了问题并在我的项目中解决了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2012-05-05
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多