Skip to main content

$$props 和 $$restProps

在符文模式下,使用 $props 符文可以轻松获取包含所有传入 props 的对象。

在遗留模式下,我们使用 $$props$$restProps

  • $$props 包含所有传入的 props,包括那些没有使用 export 关键字单独声明的 props
  • $$restProps 包含所有传入的 props,但不包括那些已经单独声明的 props

例如,一个 <Button> 组件可能需要将其所有 props 传递给它自己的 <button> 元素,除了 variant prop:

<script>
	export let variant;
</script>

<button {...$$restProps} class="variant-{variant} {$$props.class ?? ''}">
	点击我
</button>

<style>
	.variant-danger {
		background: red;
	}
</style>

在 Svelte 3/4 中,使用 $$props$$restProps 会产生轻微的性能损失,因此只应在需要时使用。

在 GitHub 编辑此页面

上一页 下一页