在使用 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);
};
}