当前位置: 首页 > news >正文

svelte - 1. 基础知识

svelte中文官网
vue和svelt语法对比
掘金-svelte入门简介

文章目录

  • 1、基本页面框架
  • 2、动态属性
  • 3、嵌套组件
  • 4、@html: 插入html标签,显示真实dom元素
  • 5、点击事件 on:click={handleClick}
  • 6、响应式声明
  • 7、父子组件通信
  • 8、if-else
    • (1)if
    • (2)if - else
    • (3)if - else if - else
    • 9、循环
    • (1)each 循环
  • 10、await
  • 11、事件
    • (1)绑定方法
    • (2)行内事件
  • 12、事件修饰符
  • 13、事件调度(组件传值)
    • (1) 父子通信(子 --> 父)
    • (2) 多层级组件间(A->B->C)
    • (3)多层级间的通信也可以用 `context`
  • 14、动态 class
  • 15、slot 插槽
    • (1)基本使用
    • (2)默认插槽
    • (3)多个插槽,`name`
    • (4)通过父级是否有内容来控制子元素slot的显示`$$slots`
    • (5)slot props
  • 16、调试方法

1、基本页面框架

<script>let src = 'tutorial/image.gif';
</script><img src={src} alt="a man dance"><style></style>

2、动态属性

{}包裹

<script>let src = 'tutorial/image.gif';
</script><img src={src} alt="a man dance">

3、嵌套组件

https://www.svelte.cn/tutorial/nested-components

  • 通过import引入
  • 直接首字母大写标签使用,不需要像 vue 在 components 中注册
  • 样式不会溢出,即每个.svelte 组件中<style>里面写的样式不会影响别的组件相同元素

例:

(1)父组件 app.svelte

<script>// 	引入组件import Nested from './Nested.svelte'
</script>
<style>/* 不会样式污染	 */p {color: purple;font-family: 'Comic Sans MS', cursive;font-size: 2em;}
</style><p>This is a paragraph.</p>
<!--使用组件  -->
<Nested></Nested>

(2)子组件 nested.svelte

<p>This is another paragraph.</p>

4、@html: 插入html标签,显示真实dom元素

@html:类似 vue 的 v-html

<script>let string = `this string contains some <strong>HTML!!!</strong>`;
</script><p>{@html string}</p>

5、点击事件 on:click={handleClick}

6、响应式声明

(1)简单类型 — 通过赋值触发

let count = 0; // 普通定义
$: doubled = count * 2; // 响应式声明// HTML中使用,count 改变,doubled就改变
<p>{count} doubled is {doubled}</p>

(2)复杂类型响应

由于 Svelte 的反应性是由赋值语句触发的,使用数组的诸如 push 和 splice 之类的方法就不会触发自动更新。

法1:再次赋值

function addNumber() {numbers.push(numbers.length + 1);numbers = numbers;
}

法2:用解构

<script>let numbers = [1, 2, 3, 4];function addNumber() {// 法1// numbers.push(numbers.length + 1);// numbers = numbers// 法2numbers = [...numbers, numbers.length + 1]}$: sum = numbers.reduce((t, n
http://www.lryc.cn/news/406600.html

相关文章:

  • 挖掘基于边缘无线协同感知的低功耗物联网 (LPIOT) 的巨大潜力
  • iOS开发设计模式篇第一篇MVC设计模式
  • 【React】全面解析:从基础知识到高级应用,掌握现代Web开发利器
  • 神经网络之卷积神经网络
  • 【Vue实战教程】之Vue工程化项目详解
  • DBeaver Ultimate 22.1.0 连接数据库(MySQL+Mongo+Clickhouse)
  • 探索PyMuPDF:Python中的强大PDF处理库
  • 天润融通AI技术助力汽车行业销售革新,邀约到店率翻倍增长
  • ubuntu安装mysql8.0
  • 数字图像处理笔记(三) ---- 傅里叶变换的基本原理
  • Golang | Leetcode Golang题解之第268题丢失的数字
  • Xlua原理 二
  • 《数据结构》--顺序表
  • Qt:愚蠢的qmake
  • Apache Dubbo:分布式服务框架的深度解析
  • 【前端学习】CSS三大特性
  • 了解网络是如何运作
  • 传输层协议——TCP
  • C++相关概念和易错语法(23)(set、仿函数的应用、pair、multiset)
  • netty入门-3 EventLoop和EventLoopGroup,简单的服务器实现
  • 通信原理-思科实验五:家庭终端以太网接入Internet实验
  • 【Vue】vue概述
  • Docker use experience
  • Android平台RTSP|RTMP直播播放器技术接入说明
  • 数据结构——栈(顺序结构)
  • 速盾:cdn能防御ddos吗?
  • 分享 2 个 .NET EF 6 只更新某些字段的方法
  • vs code解决报错 (c/c++的配置环境 远端机器为Linux ubuntu)
  • 08 字符串和字节串
  • vue使用mavonEditor(流程图、时序图、甘特图实现)