vue 解析后端返回的文本包含html标签(HTML标签转义与反转义)记
vue 解析后端返回的文本包含html标签(HTML标签转义与反转义)记录
最近遇到的问题,之前使用v-html解决的,部署之后还是有问题,网上查询了一下找到了解决办法:
是一个在线聊天的功能,后端返回的数据:
页面展示的时候也会把这些标签显示出来了,试了下v-html和filters,不是很理想。
前端读取展现在页面的时候进行反转义:
// item.message html标签反转义
HTMLEncode(text) {
let temp = document.createElement("div");
temp.innerHTML = text;
let output = temp.innerText || temp.textContent;
temp = null;
return output;
}
直接调用就可:
if (itemType === 'TEXT') {
item.message = this.HTMLEncode(item.message);
}
另:html转义方法:
<