.svelte 文件
组件是 Svelte 应用程序的构建基块。它们被写入 .svelte 文件中,使用 HTML 的超集。
这三个部分 — 脚本、样式和标记 — 都是可选的。
MyComponent
<script module>
// 模块级逻辑在这里
// (你很少会用到这个)
</script>
<script>
// 实例级逻辑在这里
</script>
<!-- 标记(零个或多个条目)在这里 -->
<style>
/* 样式在这里 */
</style><script module>
// 模块级逻辑在这里
// (你很少会用到这个)
</script>
<script lang="ts">
// 实例级逻辑在这里
</script>
<!-- 标记(零个或多个条目)在这里 -->
<style>
/* 样式在这里 */
</style><script>
一个 <script> 块包含在创建组件实例时运行的 JavaScript(或在添加 lang="ts" 属性时使用 TypeScript)。在顶层声明(或导入)的变量可以在组件的标记中被引用。
除了普通的 JavaScript,你还可以使用 runes 声明组件 props并为组件添加响应性。Runes 将在下一节中介绍。
<script module>
带有 module 属性的 <script> 标签在模块首次评估时运行一次,而不是在每个组件实例化时运行。在此块中声明的变量可以在组件的其他位置引用,但反之则不行。
<script module>
let total = 0;
</script>
<script>
total += 1;
console.log(`实例化 ${total} 次`);
</script>您可以从此代码块中 export 绑定,它们将成为编译后模块的导出。您不能使用 export default,因为默认导出是组件本身。
如果你正在使用 TypeScript 并将
module代码块的导出导入到.ts文件中,请确保设置好你的编辑器以便 TypeScript 能够识别它们。我们的 VS Code 插件和 IntelliJ 插件都支持这一点,但在其他情况下,你可能需要设置我们的 TypeScript 编辑器插件。
Legacy mode
在 Svelte 4 中,此脚本标签是使用
<script context="module">创建的。
<style>
在 <style> 块内的 CSS 将限定在该组件的作用域内。
<style>
p {
/* 这只会影响该组件中的 <p> 元素 */
color: burlywood;
}
</style>有关更多信息,请参阅样式章节。
上一页 下一页