svelte函数传参

svelte给dom对象绑定事件和vue框架类似。 定义函数:

function handler(index){
	alert("hello", index);
}

绑定事件:

<button on:click={handler}>点击</button>

但是带参函数的使用就略有不同了,函数handler的参数index需要传入的时候,不能直接这样使用<button on:click={handler(123)}>点击</button>,这样的写法会在页面打开时直接执行,而不是在点击按钮的时候执行。

这是初学svelte的时候比较郁闷的事,官方文档中也没有明显的文档说明如何传参。 正确的传参方式是这样的: <button on:click={() => handler(123)}>点击</button>on:click的内容改写为匿名函数,在函数中调用。