当前位置: 首页 > news >正文

Vue:显示数据

Vue 提供了两种直接操作文本内容的方式:v-textv-html。它们都能将数据渲染到页面上,但处理方式有本质区别。通过代码示例理解它们的特性和使用场景。


v-text:纯文本输出

与插值表达式 {{ }} 完全等价,将数据作为纯文本输出。适合常规内容展示。

<template><div><!-- 等价于 {{ message }} --><p v-text="message"></p><!-- 会忽略 HTML 标签 --><p v-text="rawHtml"></p>  <!-- 页面显示 <b>Hello</b> --></div>
</template><script>
export default {data() {return {message: "普通文本",rawHtml: "<b>Hello</b>"};}
};
</script>

v-html:原始 HTML 渲染

解析数据中的 HTML 标签并渲染为真实 DOM。适合需要动态生成 HTML 的场景,但必须谨慎使用。

<template><div><!-- 渲染粗体文字 --><p v-html="rawHtml"></p>  <!-- 显示 Hello(加粗) --><!-- 动态生成内容 --><div v-html="dynamicContent"></div></div>
</template><script>
export default {data() {return {rawHtml: "<b>Hello</b>",dynamicContent: "<span style='color: red;'>警告</span>"};}
};
</script>

安全风险示例

当使用 v-html 渲染不可信内容时,会导致 XSS 攻击:

<template><div><!-- 假设用户输入恶意内容 --><div v-html="userInput"></div></div>
</template><script>
export default {data() {return {// 模拟用户输入的恶意脚本userInput: "<script>alert('你的信息被盗了!')</script>"};}
};
</script>

此时页面会执行脚本弹窗。实际开发中,必须对 v-html 的内容进行过滤或消毒。


两者对比

特性v-text / {{ }}v-html
输出类型纯文本原始 HTML
安全性自动转义 HTML 标签直接执行 HTML/JS
性能更高较低(需解析 DOM)
适用场景普通文本、数值富文本、可信 HTML 片段
http://www.dtcms.com/a/191467.html

相关文章:

  • MySQL基础之开窗函数
  • 二叉树前序与后序遍历迭代法详解:栈操作与顺序反转的巧妙结合
  • 执行apt update后报错 Unable to lock directory /var/lib/apt/lists/ 问题解决
  • Myshell与清华联合开源TTS模型OpenVoiceV2,多语言支持,风格控制进一步增强~
  • leetcode2934. 最大化数组末位元素的最少操作次数-medium
  • 【工具类】ssh,remote-ssh插件和sftp插件
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的智能安检机技术方案‌
  • electron结合vue,直接访问静态文件如何跳转访问路径
  • Apache Pulsar 消息、流、存储的融合
  • Spyglass:跨时钟域同步(同步单元)
  • 编程日志5.6
  • 一文掌握六个空转数据库
  • MySQL——九、锁
  • 十个免费试用的云数据库
  • 在 Windows 中配置使用 WSL 来运行 Linux 环境,主要有以下步骤:
  • 【测试开发知识储备】之Jacoco(Java Code Coverage)
  • LeetCode100.7 接雨水
  • 代码随想录算法训练营第60期第三十六天打卡
  • 【​​HTTPS基础概念与原理​】对称加密与非对称加密在HTTPS中的协作
  • 掌握Docker:从运行到挂载的全面指南
  • Openshift节点Disk pressure
  • mybatis plus (sqlserver) 根据条件来获取id最大的,或者是新增的最新的一条记录(同条件可能会有多条出现)
  • Java—— 可变参数、集合工具类、集合嵌套、不可变集合
  • [数据结构]6. 队列-Queue
  • C++学习细节回顾(汇总二)
  • 【交互 / 差分约束】
  • AD 规则的使能及优先级的设置
  • 机密虚拟机的威胁模型
  • Java 与 Go 语言对比
  • 【 Java开发枚举值规范】