在vue中后台返回的文本包含标签如何解析为html

在项目中遇到解析html,发现v-html并不满足复杂的渲染,就使用jq来处理
1.v-html 处理简单的标签
如:text= " <p>vue转换</p> "
html中解析:

<p v-html="text">{{text}}</p>

2.返回标签中还有img、a标签,使用v-html就不会转换方法如下:
image.png

使用jquery处理:
1.在标签定义class

  <div  class="descript"></div>

2.安装jq

npm install jquery --save

3.在使用的地方引入

import $ from 'jquery'


 async loadProductDetail(cData) {
      const { data } = await getProductDetail(cData)
      this.descript = data.data.sku //接口返回数据赋值
      this.loadhtml()   //调用方法
    },
loadhtml() {
 $('.descript').html('')     //获取class类的html
 $('.descript').html(this.descript)   //赋值
 const srcdescript = $('.descript').find('a') || $('.descript').find('img')  //找到当前所有的a标签、img标签
for (let i = 0; i < srcdescript.length; i++) {   //遍历
        let a = srcdescript.eq(i).attr('href')      //找到a标签的href属性
       let b = evals.eq(i).attr('src')   //找到img标签的src属性
          //this.$url是我添加的端口号:
            srcdescript.eq(i).attr('href', this.$url + a)     //赋值
            srcdescript.eq(i).attr('src', this.$url + b)    //赋值
          //如果接口返回有就不添加:
          // srcdescript.eq(i).attr('href', a)     //赋值
            //srcdescript.eq(i).attr('src',  b)    //赋值
      }
}

end
以上就是关于vue中HTML解析
如有问题,欢迎留言告知,感谢~
喜欢的小伙伴可以点赞呦

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值