Skip to main content

在这个练习中,我们忘记指定 PackageInfo.svelte 组件所需要的 version 属性了,导致出现了 version undefined

我们 可以version 加上来解决这个问题……

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

……但,因为 pkg 的属性跟组件所需要的属性是有关联的,因为我们可以把属性“扩展”到子组件中:

App.svelte
<PackageInfo {...pkg} />

反过来,如果你需要在组件内引用所有的属性,包括那些没有添加 export 声明的属性,你可以直接用 $$props。通常不推荐使用这个,因为这会让 Svelte 很难优化代码,但是在某些情况下这的确有用。

Next: 逻辑

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',
		speed: 'blazing',
		version: 4,
		website: 'https://svelte.dev'
	};
</script>
 
<PackageInfo
	name={pkg.name}
	speed={pkg.speed}
	website={pkg.website}
/>
 
initialising