通常,字符串以纯文本形式插入,这意味着像 <
和 >
这样的字符没有特殊的含义。
但有时需要将 HTML 直接绘制到组件中。例如,您现在正在阅读的这段文字是存放于 markdown 文件中的,而展示到本页面时是作为一个 HTML 块。
在 Svelte 中,你可以使用特殊标记 {@html ...}
实现:
在将表达式的输出插入到 DOM 之前,Svelte 不会对 {@html ...}
内的表达式的输出做任何清理的。换言之,如果使用此功能,则必须手动转义来自不信任源的 HTML 代码,否则会使用户面临 XSS 攻击的风险。