在这里你可以感受到Svelte的简洁。
声明Props
【Svelte】-(1)基础知识 / 快速上手 / 添加数据 / 动态属性 / CSS样式 / 嵌套组件 / HTML标签
【Svelte】-(2)reactivity响应式 | 赋值 / reactivity变量 / reactivity代码语句 / reactivity对象
到目前为止,我们只处理了内部状态,也就是说,值只能在给定的组件内访问。
在任何实际应用程序中,我们都需要将数据从一个组件向下传递给它的子组件。为此,我们需要声明属性,通常缩写为“props”。在 Svelte 中,使用 export
关键字来做到这一点。
这里的
export
并不是通常javascript的导出相同,和$:
一样,请慢慢习惯这一点,不过我觉得还是蛮简洁的。
新建一个 Follower.svelte
组件
子组件使用 export
关键词声明变量
<script>
export let name
let isFollow = false
$: followTip = isFollow ? 'Unfollow' : `Follow ${name}`
</script>
<button on:click={()=>isFollow=!isFollow}>
{followTip}
</button>
默认值
在声明的时候定义就好了
export let user = 'not'
使用props
使用方式和其他框架相差不大
App.svelte
<script>
import Follower from './Follower.svelte'
let user = {
name: 'uiuing',
nike: '我想养只猫'
}
</script>
<Follower name={user.name} />
也可以这样传递
<Follower {... user} />