v-html与v-text
这两个指令用于特殊类型的内容渲染。
v-html
HTML
<div v-html="rawHtml"></div>
JavaScript
data() {
return {
rawHtml: '<span style="color: red">红色文字</span>'
}
}
v-html 将内容作为 HTML 插入,而非纯文本。
安全警告:对不可信内容使用
v-html可能导致 XSS 攻击。永远不要对用户输入直接使用v-html。
v-text
HTML
<span v-text="message"></span>
等价于:
HTML
<span>{{ message }}</span>
v-text 更新整个元素的 textContent。
对比
| 指令 | 功能 | 安全考量 |
|---|---|---|
| v-html | 插入 HTML 内容 | 需注意 XSS 风险 |
| v-text | 设置文本内容 | 安全,等价于 {{ }} |
要点总结
v-html插入原始 HTML,动态解析标签v-text设置文本内容,等价于插值表达式v-html仅用于可信内容- 插值表达式是更常用的文本绑定方式
📝 发现内容有误?点击此处直接编辑