antV 事件多次触发问题,解绑
程序员文章站
2022-04-21 21:38:38
...
由于最近刚刚接触 antV - 数据可视化,对于他的事件应用还比较陌生,在应用中莫名其妙多次调用,想了很多方式如节流……,但是没有用。
业务介绍
当我点击流程图中的某一项进行提示,每次双击都会递增调用。
解决过程
当时想着用节流的方式,但是很遗憾,他还是疯狂递增调用。然后我就开始 debugger 了,发现 on 绑定的事件中走了多次。 on不是原生js绑定事件嘛,我要做的就是每次断开事件绑定,这样,每次就只会走一次。
解决方法
on前面 加上 .off(‘node:dblclick’) 进行解绑
this.flowpath.off('node:dblclick').on('node:dblclick', ({
e,
cell,
view
}) => {
//将展开的一维数组flatRoutes 与 当前点击的值进行判断,并进行路由跳转
if(this.flatRoutes && this.flatRoutes.length>0){
//业务
}else{
this.$message.error('无菜单可跳转');
}
}
})