简洁版:用v-html渲染数据。
问题描述:
获取后台数据渲染页面的时候,返回的数据带有 html 特殊标签
{
"status":0,
"message":[
{
"title":"华为(HUAWEI)荣耀6Plus 16G双4G版",
"content":"<p>\r\n\t荣耀6 Plus,该机型分为两款型号,分别为PE-TL10和PE-UL00的新机型,
并且根据工信部设备认证中心公布的信息显示,移动版本PE-TL20和PE-TL00M也已经拿到了入网许可证,
拥有7.5mm的纤薄机身,支持TDD-LTE/TD-SCDMA/GSM网络。双800万后置摄像头+800万前置摄像头。
采用5.5英寸1080p分辨率显示屏,搭载1.8GHz麒麟925八核处理器,内置3GB RAM+32GB ROM存储组合,
支持存储卡扩展。\r\n</p>\r\n<p align=\"center\">\r\n\t<span style=\"color:#FF0000;font-size:16px;\">
<img class=\"gomeImgLoad\" alt=\"\" src=\"http://img5.gomein.net.cn/image/bbcimg/productDesc/descImg/201503/desc04/A0004794664/3997361.jpg\" />
</span> \r\n</p>"
}
]
}
解决方案:
直接用 v-html ,此时在页面上显示的将是 html标签
例如下面的 item2.content
<!-- 详情介绍start -->
<div class="part">
<div class="br particulars" v-for="item2 in desArr" :key="item2.id">
<div class="details">
<van-divider class="introduce" :style="{ color: '#c82519',padding: '0 16px', borderColor: '#666' }">详情介绍</van-divider>
<!-- 使用v-html指令渲染字段 -->
<div class="content" v-html="item2.content"></div>
</div>
</div>
</div>
<!-- 详情介绍end -->
效果:
调用之前:
使用之后:
小问题:如何修改字段内的标签的样式:
例如上面的图片,希望图片适应盒子大小,f12发现这些图片有类名,直接使用类名修改css样式即可,记得要加上/deep/
/deep/.gomeImgLoad{
width:auto;
height:auto;
max-width:100%;
max-height:100%;
}