mcpField
S
svelte-template-directives

svelte-template-directives

github.com/spences10开发94491 次安装2 周前更新
代码仓库

关于 svelte-template-directives

面向 Svelte 开发者的模板指令参考技能,重点介绍 Svelte 5 的 attachments 及其与旧式 actions 的差异,适用于实现响应式 DOM 行为和查阅指令用法。

主要功能

  1. 01Svelte 指令速查
  2. 02响应式 @attach 用法模式
  3. 03与 use: actions 的对比
  4. 04旧式 action 转换指南
  5. 05each 块键值使用提示

适用场景

  1. 01添加响应式 DOM 行为
  2. 02集成第三方 DOM 库
  3. 03将旧式 actions 转换为 attachments
  4. 04核对 Svelte 模板指令用法

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/spences10/svelte-skills-kit --skill svelte-template-directives

安装后在 Claude Code 中输入/svelte-template-directives确认已加载。

附带文件references/attach-patterns.mdreferences/other-directives.md

详细介绍

Svelte 模板指令

@attach(Svelte 5.29+)

use: action 的响应式替代方案。 依赖项变化时会重新运行,可通过展开传递组件,并支持清理函数。

<script>
	import ImageZoom from 'js-image-zoom';

	function useZoom(options) {
		return (element) => {
			new ImageZoom(element, options);
			return () => console.log('cleanup');
		};
	}
</script>


<figure {@attach useZoom({ width: 400 })}>
	<img src="photo.jpg" alt="zoomable" />
</figure>

快速参考

指令用途响应式?
{@attach}操作 DOM、第三方工具是
{@html}渲染原始 HTML 字符串是
{@render}渲染片段是
{@const}块中的局部常量不适用
{@debug}值变化时暂停调试器不适用
{#each (key)}键控迭代(始终使用 key!)是
<svelte:window>窗口事件监听器不适用

@attach 与 use: actions

特性use:@attach
参数变化时重新运行否是
可组合有限完全支持
传递 props手动通过展开自动传递
转换旧版代码不适用fromAction()

参考文件

注意事项

  • @attach 要求 Svelte 5.29+
  • 使用 svelte/attachments 中的 fromAction 转换旧版 actions
  • 展开 props 时,attachments 会通过包装组件传递
  • 始终使用带 key 的 each 块——切勿将索引用作 key
  • 全局事件请使用 <svelte:window>/<svelte:document>,不要使用 $effect
  • 最后验证时间: 2026-03-12

评论

支持 Markdown