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...】"]);
相关推荐
前端毕业班7 小时前
uni-app 小程序主包瘦身指南 - 分包 node_modules
前端
LinDaiDai_霖呆呆7 小时前
我用 Claude Code 一天搭了个高扩展性的 Web 3D 编辑器 SDK,但最有价值的不是代码 🔥
前端·ai编程·claude
AZaLEan__8 小时前
Flex 弹性布局学习总结
前端·css·css3
a1117768 小时前
高斯泼溅 (Gaussian Splatting) 的 Three.js 实现
开发语言·javascript·ecmascript
代码北人生8 小时前
agent时代,我们都低估了这个 23k Star 的 Claude Code Skills 项目!
javascript
成都渲染101云渲染66668 小时前
云渲染全面支持3dsMax 2027,高效渲染体验升级
开发语言·前端·javascript
卸任8 小时前
别用Quill了,打造自己的Tiptap富文本编辑器
前端·react.js
陈广亮8 小时前
React 图表库选型指南:Recharts、ECharts、Nivo、Lightweight Charts 深度对比
前端
zs宝来了8 小时前
微前端架构:qiankun 沙箱隔离与样式冲突
前端·javascript·框架
M ? A8 小时前
Vue 的 scoped 样式穿透 React 不支持?用 VuReact 编译就行
前端·javascript·vue.js·react.js·面试·开源·vureact