需求: 通过动态数据给click添加事件。
@click="item.tap" // 此item.tap是动态数据
但是通过以上方法事件无效,直接提示_vm.e0 is not a function
原因:vue开发的代码是需要挂载编译后,再渲染成的,直接append进去不认识vue的语法
经过一番摸索找到了替代解决方法:
事件绑定如下:
@click="clickTap" :data-tap="item.tap"
clickTap方法如下:
tapA(){}
tapB(){}
clickTap(e) {
let {tap} = e.currentTarget.dataset;
tap === "tapA" && this.tapA(e);
tap === "tapB" && this.tapA(e);
}