2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Svelte 发布 Attachments,通过交互式和响应式特性增强 DOM

  • 2025-06-18
    北京
  • 本文字数:926 字

    阅读完需:约 3 分钟

大小:333.54K时长:01:53
Svelte 发布 Attachments,通过交互式和响应式特性增强 DOM

Svelte 的最新版本包含了一个名为Attachments(附件)的新功能,它通过交互式和响应式特性增强了 Web 应用程序的 DOM。Svelte Attachments 取代了 Svelte Actions(动作)。


就像 Svelte Actions 一样,开发人员使用附件来提供代码,以便在组件或 DOM 元素被挂载或卸载时运行。通常,提供的代码会为感兴趣的事件设置一个监听器,并在附件目标被卸载时移除该监听器。它还可以与需要目标 DOM 元素的第三方库一起使用。依赖响应值的附件将在这些值变化时重新运行。


以下是一个使用 GSAP 动画库中的 ScrambleTextPlugin 的示例


<script>  import { gsap } from 'gsap';  import { ScrambleTextPlugin } from 'gsap/ScrambleTextPlugin';  gsap.registerPlugin(ScrambleTextPlugin);  // ⚠️ 附件位于 `$effect` 函数内部  function scramble(text, options) {    return (element) => {      gsap.to(element, {        duration: 2,        scrambleText: text,        ...options      });    };  }  let text = $state('Svelte');</script><!-- 跟踪上下文 --><input type="text" bind:value={text} /><div {@attach scramble(text)}></div>
复制代码


当 DOM 首次被挂载时,文本 Svelte 将被打乱。此外,文本值的任何进一步变化也会导致文本被打乱。开发人员可以在 Svelte playground 中尝试这个示例。


这样 Svelte Attachments 就扩展了 Svelte Actions,后者没有为其参数提供类似的响应性。此外,S 附件可以设置在 Svelte 组件上,而 Svelte Actions 只能在 DOM 元素上声明。该版本提供了一种从 Actions 创建 Attachments 的机制,使开发人员可以复用现有的动作库


附件可以用来将行为与标记分离(就像其他 UI 框架中所做的那样,React 中的 hooks 就是一个例子)。已经作为 Actions 实现,现在可以从附件功能中受益的行为示例包括:剪贴板复制、点击板粘贴到元素、捕获元素外的点击、屏蔽用户输入、动画元素、指针拖动滚动行为、快捷键的设置、使元素可滑动、点击下载等。


开发人员被邀请在线阅读完整的文档,以获得该特性的详尽视图与详细的示例和解释。开发人员还可以查看相应的拉取请求,了解特性背后的动机和开发人员的评论。


原文链接:

Svelte Releases Attachments to Enhance DOM with Interactive and Reactive Features

2025-06-18 10:044796

评论

发布
暂无评论

玩转SpringBoot2.x之缓存对象

zhuoqianmingyue

redis springboot

使用Spring Boot和Docker构建微服务架构(二)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

快速入门 Nacos 作为配置中心操作

zhuoqianmingyue

nacos SpringBoot 2

企业微信机器人在大型财务共享中心的应用实践

DT极客

使用Spring Boot和Docker构建微服务架构(一)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

程序员的修行之路-保持良好的心态

牧马人

程序员

ARTS第一周

困到清醒

ARTS 打卡计划 起跑

微信gif图片大小的规则

石云升

微信 GIF

游戏夜读 | 世界两大游戏评论!

game1night

程序员的修行之路-关于编程语言

牧马人

程序员

短视频时代下的知识摄取

Neco.W

学习 知识管理 知识体系 短视频

Jsp页面报错后如何找到提示信息中的_jsp.java文件

阡陌r

Spring Cloud 和 Dubbo 哪个会被淘汰?

程序猿DD

Spring Cloud dubbo

配置国内的pip源以提高使用pip安装python软件包的速度

良少

Python pip

使用Spring Boot和Docker构建微服务架构(三)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

产品周刊 | 第 16 期(20200524)

八味阁

产品 设计 产品经理 产品设计

卡巴斯基产品本地化用时能缩短 77%,怎么做到的?

葛仲君

项目管理 软件开发 本地化 开发流程

zookeeper到nacos的迁移实践

捉虫大师

架构 nacos

后台定时统计任务太耗时如何优化一下

zhuoqianmingyue

线程池

代码刚提交暂存区,组长突然要我把新增代码 Commit另一分支怎么办?

zhuoqianmingyue

git

微软:正式发布针对 .NET Core的 Winform 设计器

葡萄城技术团队

.net 微软 Win .net core

2020年3月云主机性能评测报告

博睿数据

云计算 运维 机房 数据中心 主机

程序员的修行之路-关于编程语言

牧马人

程序员

数据产品经理实战-DMP搭建

第519区

产品经理 营销

linux 账户及安全管理(一 账户管理)

牧马人

Linux

爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【1】-前期准备

hadesxiong

Python 爬虫 保险 Scrapy

是什么在背后支撑起“带货一哥”李佳琦?

博睿数据

负载均衡 APM 压测 秒杀 并发

足不出户“逛”银行,37家城商行、农商行手机银行App性能大比拼

博睿数据

APM App 评测 网银 银行

2020年3月北京BGP机房网络质量评测报告

博睿数据

运维 APM 机房 数据中心 拨测

使用Spring Boot和Docker构建微服务架构(四)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

Java | @Override 不要再把它当成可有可无的了

YoungZY

Java 注解 Override annotation

Svelte 发布 Attachments,通过交互式和响应式特性增强 DOM_大前端_Bruno Couriol_InfoQ精选文章