svelte中几个关键字总结

本文介绍了Svelte框架中的三个核心关键字:bind用于实现双向绑定,使得数据变化能即时反映到UI;this用于绑定DOM对象,便于直接操作DOM属性;let则用于插槽属性暴露,方便父组件获取子组件的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在svelte中,有些关键字跟其他框架不一致,刚开始接触时会感觉比较奇怪,而且很难记住他们的使用场景,这里我一起总结一下,希望可以对比起来看,更容易理解。

bind

在我们需要双向绑定的时候,就用bind关键字,这样我们的值变化了,可以直接反应到页面UI上:

<script>
  let name = 'world';
</script>

<input bind:value={name}>

<h1>Hello {name}!</h1>

将input的value绑定name,输入框中的输入更新时,name的值也会跟着改变!

this

绑定 this 与 Vue 的 ref 功能相似,都是为了取得当前组件的实际 DOM 对象。

<script>
	let text;
  function clickFunc() {
    alert(text.type);
  }
	
</script>

<div>
  <input type="text" value="input value" bind:this={text} on:click={() => clickFunc()}/>
</div>

将this绑定input这个dom,我们就可以在script中直接获取input的各种属性值了。

let

在插槽中添加了插槽属性,想要在父组件中将属性暴露出来,需要用let关键字。

# Click.svelte
<script>
    let clicked;

    function clickevent() {
        clicked = true;
    }
</script>


<div on:click={clickevent}>
    <slot click={clicked}></slot>
</div>

#App.svelte
<script>
	import Click from './Click.svelte';
	
</script>

<Click let:click={clicked}>
  <span>{clicked}</span>
</Click>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值