vue中v-html 后端返回html + script js中click事件不生效
创始人
2024-11-04 05:10:22
效果图:

需求:点击加号执行后端返回的script中的代码

后端返回的html:
   xxx    
  类型1 日期
  字段3 字段4 字段5 字段6 字段7 字段8
  编号 个数 1.0 2.0 3.0 4.0 5.0 6.0
 
 
+

现在如果直接用 v-html 放到vue 中 会报错;报这个方法没有;

解决思路:


1.获取到后端返回的html
2.通过正则表达式 之后 截取script 中的 js 逻辑
3.获取body标签 之后创建一个 script 标签
4.把我们截取的 script中的代码放到我们创建的 script标签中
5.把script标签 放到body中

实现:
html部分:
 
vue js部分 
export default { data() {     return {       htmlData: ""     }   },   mounted() {    // 我是取的本地存储的 你换成后端返回的就行     this.htmlData = localStorage.getItem('callbackHTML')    // 正则匹配     const regex = /