跳至主要内容

在本练习中,在 App.svelte 中,我们忘记传递 PackageInfo.svelte 期望的 name 属性,这意味着 <code> 元素为空,并且 npm 链接已断开。

我们可以通过添加属性来修复它...

App
<PackageInfo
	name={pkg.name}
	version={pkg.version}
	description={pkg.description}
	website={pkg.website}
/>

...但由于 pkg 的属性对应于组件的预期属性,因此我们可以将其“展开”到组件上。

App
<PackageInfo {...pkg} />

反之,在 PackageInfo.svelte 中,您可以使用剩余属性获取包含传递给组件的所有属性的对象...

let { name, ...stuff } = $props();

...或者完全跳过 解构

let stuff = $props();

...在这种情况下,您可以通过其对象路径访问属性。

console.log(stuff.name, stuff.version, stuff.description, stuff.website);

在 GitHub 上编辑此页面

上一页 下一页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
	import PackageInfo from './PackageInfo.svelte';
 
	const pkg = {
		name: 'svelte',
		version: 5,
		description: 'blazing fast',
		website: 'https://svelte.js.cn'
	};
</script>
 
<PackageInfo
	version={pkg.version}
	description={pkg.description}
	website={pkg.website}
/>