Vue 中如何正确将后台返回的 HTML 标记转换为 HTML 格式?
Vue 标签转为 HTML 的正确方式
问题:
从后台返回的字段包含 HTML 标记,需要转换为 HTML 格式。使用 v-html 指令效果不正确,以下是如何解决的?
回答:
后台返回的字段可能经过安全过滤,导致 HTML 标记被转义。解决方法是先对字段进行反转义,再使用 v-html 指令。
以下是一个反转义函数 htmlDecode():
function htmlDecode(iStr) { let sStr = iStr; sStr = sStr.replaceAll("&", "&"); sStr = sStr.replaceAll(">", ">"); sStr = sStr.replaceAll("<p>然后使用以下方式在 Vue 组件中使用 htmlDecode():</p><div v-html="htmlDecode(content)"></div>