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);

现象

报错找不到方法未定义

397B351D-E4A5-2D13-7472-B817F0BA0B9E.png

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

最终解决方法:

document.getElementById绑定onclick事件,注意如果调用方法,一定要将this赋值给that,再调用方法,具体实现代码如下:

let that = this;

document.getElementById("elementid").onclick =

function clickdiv() {

// “clickWarnCnt”为自定义的方法,点击事件调用的方法

that.clickWarnCnt(warnCntItem);

};

}

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的