vue innerHTML 绑定单击事件不生效的解决

 更新时间:2023年01月24日 13:26:41   作者:---清心寡欲---  
这篇文章主要介绍了vue innerHTML 绑定单击事件不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue innerHTML 绑定单击事件不生效

在使用 vue时候对 innerHTML进行绑定单击事件,绑定后事件不生效

原代码

div.innerHTML =
      "<el-button size='mini' type='text'  @click='handleUpdate1("+JSON.stringify(warnCntItem)+")' style='color: #f56c6c'> "+warnCntItem.warnCnt+"</el-button>" ;
document.getElementById("block").appendChild(div);

现象

报错找不到方法未定义

将@click修改为onclick后,方法找到了,但是参数传递不过去

最终解决方法

document.getElementById绑定onclick事件,注意如果调用方法,一定要将this赋值给that,再调用方法

具体实现代码如下:

 let that = this;
   document.getElementById("elementid").onclick =
          function clickdiv() {
            // “clickWarnCnt”为自定义的方法,点击事件调用的方法

            that.clickWarnCnt(warnCntItem);
          };
      }

vue动态拼接innerHTML时添加点击事件,并在点击事件中调用vue方法

场景

在vue页面中动态生成某个弹窗的innerHTML的内容。

内容中添加一个button,并设置Button的点击事件,

在点击事件中能调用vue的方法。

实现

1、innerHTML的内容如下

str =`
    <div class="car_detail">
        <div class="car_detail_header">
            <p>驾驶员:${content.drivername? content.drivername: ""}</p>
            <p>车牌号:${content.carNumber ? content.carNumber : ""}</p>
            <p>
                <button  onclick="previewNvrVideo(1)">1号摄像头</button>
            </p>

添加的button并设置了点击事件previewNvrVideo还传递了参数。

2、那么这个点击时的方法应该在哪里声明才能在该方法中调用vue中methods中的方法

在mounted函数中

    mounted() {
        let self = this;
        //模板参数传参
        const _this = this
        window.previewNvrVideo = function (channelNum) {
            _this.nvrPreview(channelNum);
        }
 
    },

3、然后就可以再Vue页面中调用methods中的nvrPreview方法了

    methods: {
        nvrPreview(channelNum){
        },
   } 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue tagsview实现多页签导航功能流程详解

    Vue tagsview实现多页签导航功能流程详解

    基本上后台管理系统都需要有多页签的功能,但是因为一些脚手架项目基本都把这个功能给集成好了,导致在学习或者修改的时候不知道该如何下手。今天这篇文章就来聊一聊,vue-element-admin项目是如何实现多页签功能的
    2022-09-09
  • vue+element-ui表格封装tag标签使用插槽

    vue+element-ui表格封装tag标签使用插槽

    这篇文章主要介绍了vue+element-ui表格封装tag标签使用插槽,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • vue动态设置img的src路径实例

    vue动态设置img的src路径实例

    今天小编就为大家分享一篇vue动态设置img的src路径实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 一步步讲解Vue如何启动项目

    一步步讲解Vue如何启动项目

    这篇文章主要给大家介绍了关于Vue如何启动项目的相关资料,还介绍了解决vue启动项目时间很长问题的相关方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • vue+flask实现视频合成功能(拖拽上传)

    vue+flask实现视频合成功能(拖拽上传)

    这篇文章主要介绍了vue+flask实现视频合成功能(拖拽上传),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • vue或react项目生产环境去掉console.log的操作

    vue或react项目生产环境去掉console.log的操作

    这篇文章主要介绍了vue或react项目生产环境去掉console.log的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Vuex之理解Mutations的用法实例

    Vuex之理解Mutations的用法实例

    本篇文章主要介绍了Vuex之理解Mutations的用法实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Vue自定义指令实现对数字进行千分位分隔

    Vue自定义指令实现对数字进行千分位分隔

    对数字进行千分位分隔后展示应该是大部分同学都做过的功能了吧,常规的做法通常是编写一个工具函数来对数据进行转换,那么我们可不可以通过vue指令来实现这一功能呢,下面我们就来探索一下呢
    2024-02-02
  • vue中如何下载文件导出保存到本地

    vue中如何下载文件导出保存到本地

    这篇文章主要介绍了vue中如何下载文件导出保存到本地,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue+elementUI实现动态合并数据相同的单元格(可指定合并列)

    vue+elementUI实现动态合并数据相同的单元格(可指定合并列)

    这篇文章主要介绍了vue+elementUI如何实现动态合并数据相同的单元格,文中有详细的代码实例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-07-07

最新评论