学习如何从一个Svelte组件中导出函数和变量
你知道你可以使用语法将一个Svelte组件导入另一个组件中。
<script>
import Button from './Button.svelte';
</script>
如果你想导出比默认导出更多的东西呢?
那么,你必须将其从一个特殊的script
标签导出到组件中,并使用context="module"
属性。
这里有一个例子。假设你有一个Button组件在Button.svelte
。
<button>A button</button>
而你想为其他组件提供改变按钮颜色的能力。你可以使用道具,这就是一个例子。或者你可以提供一个函数,叫做changeColor
。
你在这个特殊的script
标签中编写并导出它。
<script context="module">
export function changeColor() {
//...add logic..
}
</script>
<button>A button</button>
警告。我没有实现实际的功能,但你会明白这个意思。
请注意,你可以在组件中拥有另一个 "正常 "的脚本标签。
现在其他组件可以导入Button,这是默认的导出,也可以导入changeColor
函数。
<script>
import Button, { changeColor } from './Button.svelte'
</script>