跳到主要内容

$$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 ?? ''}">
	click me
</button>

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

在 Svelte 3/4 中使用 $$props$$restProps 会带来适度的性能损失,因此应仅在需要时使用它们。

在 GitHub 上编辑此页面

上一页 下一页