Ume*_*mer 2 javascript svelte sveltekit
我想创建一个可以处理on:click
但不导出handleClick
函数的组件;这就是现在的运作方式
button.svelte
:
<script lang="ts">
export let handleClick: ((e: MouseEvent) => void ) | undefined = undefined
</script>
<button on:click={handleClick}>
<slot></slot>
</button>
Run Code Online (Sandbox Code Playgroud)
app.svelte
:
<script lang="ts">
import Button from '$lib/button/button.svelte'
</script>
<Button handleClick={() => console.log('click!')}>
Click me!
</button>
Run Code Online (Sandbox Code Playgroud)
如何更改 Button 元素以on:click
直接在应用程序组件中使用?
app.svelte
:
<Button on:click={handleClick}>
<slot></slot>
</Button>
Run Code Online (Sandbox Code Playgroud)
根据Svelte 文档:
\n\n\n如果在
\non:
没有值的情况下使用指令,组件将转发事件,这意味着组件的使用者可以侦听该事件。
所以你应该能够在以下位置执行此操作button.svelte
:
<button on:click>\n <slot></slot>\n</button>\n
Run Code Online (Sandbox Code Playgroud)\n然后这应该适用于app.svelte
:
<script>\nimport Button from \'./button.svelte\';\n\nconst handleClick = (event) => {\n // \xe2\x80\xa6\n};\n</script>\n\n<Button on:click={handleClick}>\n Foo\n</Button>\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
2015 次 |
最近记录: |