如何从一个Svelte组件中导出函数和变量

206 阅读1分钟

学习如何从一个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>