svelte教程(1)简介,svelte3


什么是svelte?

Svelte是用于构建快速Web应用程序的工具。

它类似于React和Vue这样的JavaScript框架。但是有一个关键的区别:Svelte在构建时将您的svelte代码转换为理想的JavaScript 代码,而不是在运行时解释您的代码。想要详细了解请查看svelte简介。
注:本教程中使用了Sapper框架进行svelte程序的开发。学习语法环节不需要掌握sapper框架的使用,想要了解的话请查看sapper文档。
本教程的所有代码均上传到github有需要的同学可以参考 https://github.com/sullay/svelte-learn。

组件 components

在Svelte中,一个应用程序由一个或多个组件组成。组件是可重用的独立代码块,它封装在一起的HTML,CSS和JavaScript,并写入.svelte文件中。

添加数据

在组件中声明一个变量name并在html中进行引用。“{}”内可以使用任何JavaScript代码。



Hello {name}!

Hello {name.toUpperCase()}!

如果变量名于属性名相同的情况下,可以简写例如src={src}。



Hello {name}!

样式style

组件中可以使用

h1{
 text-align: center;
}

h1.svelte-17zljpa{
 text-align: center;
}

同时也给所有的标签添加一个相同的class属性。





Hello {name}!

Hello {name.toUpperCase()}!

Hello {name}!

如果希望css规则能够全局生效可以使用:global关键字。
实现方式是global修饰的选择器不会添加class选择器。

引入子组件

注意:自定义组件变量名首字母需为大写字母。并且父组件中的样式不会对子组件生效,反之也一样。

// sullay.svelte

I am sullay!

// index.svelte

原样显示

在Svelte中,您可以使用特殊{@html ...}标签进行原样显示。





{@html html}

测试发现上面代码中的color: chartreuse;并没有生效。
原因是因为{@html ...}中的标签并没有添加对应此组件的class属性。
修改一下上面的代码,如下:





{@html html}

阅读本文后相信你对svelte的使用已经有一个简单的认识,后续还会更多svelte教程的内容。部分内容来自于官方教程,有兴趣的可以结合起来一起看。