Vue3 开发中,字符串中的 <br\> 标签被直接当作文本显示出来了,而不是被解析为 HTML 换行标签

html 复制代码
<div class="dialog-content">
    <span>{{ previewContent }}</span>
</div>
js 复制代码
const previewContent = ref("Authorization: Bearer 【eyJhbGci...】<br\>X-Access-Token: 【eyJhbGci...】");
  • 在前端 Vue3 开发中,字符串中的 <br\> 标签被直接当作文本显示出来了,而不是被解析为 HTML 换行标签
处理策略
  1. 最直接的方式是使用 v-html 指令,但是使用 v-html 指令时要确保内容是可信任的,避免 XSS 攻击
html 复制代码
<div class="dialog-content">
    <span v-html="previewContent"></span>
</div>
  1. 更安全、更推荐的方式是,避免使用 v-html 指令,可以用 CSS 的 white-space 属性来处理换行
html 复制代码
<div class="dialog-content multiline-text">
    <span>{{ previewContent }}</span>
</div>
js 复制代码
const previewContent = ref("Authorization: Bearer 【eyJhbGci...】\nX-Access-Token: 【eyJhbGci...】");
  1. 最灵活的方式是,使用数组渲染,可以对每一行进行单独控制
html 复制代码
<div class="dialog-content">
    <div v-for="(line, index) in previewContents" :key="index">
        {{ line }}
    </div>
</div>
js 复制代码
const previewContents = ref(["Authorization: Bearer 【eyJhbGci...】", "X-Access-Token: 【eyJhbGci...】"]);
相关推荐
今日无bug10 小时前
大模型的回答是怎么一个字一个字蹦出来的?前端流式输出解析
前端·llm·agent
计算机魔术师10 小时前
Anthropic 复盘 Claude 模型越权访问真实系统事件并改进对齐与安全措施
前端
掘金者阿豪10 小时前
Seedance 2.0/2.5 虚拟素材能跨 Key 共用吗?一次讲清 Asset ID、账号隔离与 SaaS 素材架构
前端·后端
Jacky199911 小时前
Electron + Vue 3 桌面打字游戏实战:从 VSCode 扩展到独立应用的架构改造
javascript
用户500937683903911 小时前
热敏小票 Web 打印:我在 58/80mm 上折腾的两周
前端·vue.js
XGM11 小时前
一个前端新手的"顿悟"时刻:DOM树、渲染原理和JS动态渲染
前端
sakiko_11 小时前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
迷迭香yy11 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
东方小月11 小时前
一篇文章带你深入拆解Skill的本质与工程实现,让你不再滥用Skill
前端·人工智能·后端
晊晌_h11 小时前
嵌入式从0到精通——线程
java·开发语言·jvm