Skip to main content
Svelte 基础
介绍
响应式
属性
逻辑
事件
绑定
类和样式
Actions
过渡动画
Svelte 进阶
高级响应性
复用内容
Motion
高级绑定
高级过渡效果
Context API
特殊元素
<script module>
后续步骤
SvelteKit 基础
介绍
路由
加载数据
请求头和 Cookie
共享模块
表单
API 路由
$app/state
错误和重定向
SvelteKit 进阶
钩子函数
页面选项
链接选项
高级路由
高级加载
环境变量
结论

通常情况下,字符串会以纯文本形式插入,这意味着像 <> 这样的字符没有特殊含义。

但有时你需要直接在组件中渲染 HTML。例如,你现在正在阅读的这些文字存在于一个 markdown 文件中,该文件作为一块 HTML 被包含在这个页面中。

在 Svelte 中,你可以使用特殊的 {@html ...} 标签来实现这一点:

App
<p>{@html string}</p>

重要提示:Svelte 在将 {@html ...} 内的表达式插入到 DOM 之前不会执行任何净化(sanitization)处理。如果内容是你信任的,比如你自己写的文章,这不会有问题。但是,如果是一些不受信任的用户内容,例如文章的评论,那么手动转义就变得至关重要,否则你可能会使用户面临跨站脚本攻击(XSS)的风险。

在 GitHub 编辑此页面

上一页 下一页
1
2
3
4
5
6
<script>
	let string = `this string contains some <strong>HTML!!!</strong>`;
</script>
 
<p>{string}</p>