1. 通过 rich-text 组件对富文本进行渲染
<rich-text :nodes="goods_info.goods_introduce"></rich-text>
// nodes 动态绑定的是后端返回的富文本
2. 后端给我返回的是一张张图片,图片与图片之间会有一个几像素空白的间隔,这里使用到了正则匹配的方式 通过 display:block 属性来解决的
methods: {
// 获取数据
async getGoodsDetail(goods_id){
const {message:res} = await uni.$http.getData('/goods/detail', {goods_id})
// 在赋值前对数据进行正则处理 将 <img 替换为 <img style="display: block;"
res.goods_introduce = res.goods_introduce.replace(/<img /g, '<img style="display: block;"')
// 赋值存储
this.goods_info = res
}
}
3. 另外还有一个问题是图片的格式,这里后端给我返回的 图片后缀是 webp,这种格式在 ios 上面没法正常显示,所以只有继续通过 正则将 这个 webp 替换成 jpg 格式
res.goods_introduce = res.goods_introduce.replace(/<img /g, '<img style="display: block;"').replace(/webp/g, 'jpg')