【Svelte】-(1)基础知识 / 快速上手 / 添加数据 / 动态属性 / CSS样式 / 嵌套组件 / HTML标签

简介: 【Svelte】-(1)基础知识 / 快速上手 / 添加数据 / 动态属性 / CSS样式 / 嵌套组件 / HTML标签

基础知识


如果你是第一次接触Svelte,请阅读: 《相比Vue和React,Svelte可能更适合你》


快速上手


首先,你需要将 Svelte 与构建工具集成起来。官方提供了针对Rollup和webpack的插件:


  • rollup-plugin-svelte
  • svelte-loader


但是我更推荐使用Vite,Vite也集成了vite-plugin-svelte


如果你使用的是 VS Code,去VS Code的插件库下载 Svelte for VS Code 插件就好了。对于 JetBrains 系列去插件市场下载 Svelte 就可以了。


然后,一旦项目设置好了,使用 Svelte 组件就很容易了。编译器将每个组件转换为常规的 JavaScript 类,接下来只需导入它并用 new 实例化即可:

import App from './App.svelte';
const app = new App({
  target: document.body,
  props: {
  // we'll learn about props later
  answer: 42
  }
});

然后,如果需要,你可以使用组件 API与 app 进行交互。


创建项目

npm create vite@latest svelte-project

svelte-project 是文件夹名称,可以任意。


按照我的步骤来就好

7.png

我更喜欢TypeScript,按照你自己擅长的来就好了

8.png

OK ~


9.png

添加数据


打开刚刚新建的项目,修改 App.svelte 文件内容为:

<script>
  let user = {
    name: 'uiuing',
    from: 'CSDN'
  }
</script>
<a>Hi I'm {user.name}, from {user.from}</a>

运行


npm run vite

预览看看,你的端口可能和我的不一样。


10.png

在花括号内,我们可以放置任何我们想要的 JavaScript 内容。尝试更改 name 为 name.toLocaleUpperCase() 。



动态属性


您可以使用花括号来控制元素属性,就像使用它们来控制文本一样。

<script>
  let user = {
    name: 'uiuing',
    from: 'CSDN',
  }
  let href = 'https://uiuing.blog.csdn.net'
</script>
<a {href} target="_blank" alt="uiuing home">
  Hi I'm {user.name}, from {user.from}
</a>

具有名称和值相同的属性并不少见,例如 href={href} 。 Svelte 为我们提供了这些情况的便捷简写,因此,<a {href} 等于 <a href={href}


11.png


CSS样式


就像在 HTML 中一样,您可以向 <style> 组件添加样式

<script>
  let user = {
    name: 'uiuing',
    from: 'CSDN'
  }
  let href = 'https://uiuing.blog.csdn.net'
</script>
<a {href} target="_blank">
  Hi I'm {user.name}, from {user.from}
</a>
<style>
  a {
    color: red;
  }
</style>

12.png

这里要注意,作用域仅是这个组件,并不会影响其他组件或者全局。


嵌套组件


将整个应用程序放在一个组件中是不切实际的。相反,我们可以从其他文件导入组件,然后像包含元素一样使用它们。


每个 .svelte 文件都是一个组件,该组件是一个可重用的自包含代码块,它封装了属于一起的 HTML、CSS 和 JavaScript。


新建一个 Follower.svelte 文件

13.png

<script>
  let isFollow = false
</script>
<button on:click={()=>isFollow=!isFollow}>
  {isFollow ? 'Unfollow' : 'Follow'}
</button>

然后到 App.svelte 里面使用


import Follower from './Follower.svelte'

另请注意,组件名称是大写的。这是是为了让我们能够区分用户定义的组件和常规 HTML 标记。



HTML标签


通常,字符串作为纯文本插入,这意味着字符像 < 和 > 都没有特殊含义。


但有时我们需要将 HTML 直接渲染到组件中。


在 Svelte 中,可以使用特殊 {@html ...} 标签执行此操作:


修改 Follower.svelte

<script>
  let isFollow = false
</script>
<button on:click={()=>isFollow=!isFollow}>
  {@html isFollow ? 'Unfollow' : '<b>Follow</b>'}
</button>

14.png15.png

目录
相关文章
|
8月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
8月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
8月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
8月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
8月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
8月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
8月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
8月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
12月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
349 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布