问题描述
现项目中需求是切换公司就要更新地图,就需要重新渲染这个echarts图,一旦重新渲染后会出现累加情况,它会根据你渲染的次数调用点击事件,即点击一次触发多次
解决方案
重新渲染之前先关闭点击事件
var myChartContainer = document.getElementById('map');
var myChartChina = this.$echarts.init(myChartContainer);
myChartChina.off('click');
myChartChina.setOption(optionMap);
myChartChina.on('click',(param)=> {})
// 项目示例 多个饼状图点击跳转路由
let myChart = initDev({
dom: document.getElementById('barError'),
text: i === 0 ? '各机房错误分布' : '客户端错误分布',
pieData: this.errorBar,
});
myChart.off('click');
myChart.on('click', (param) => {
const { href } = this.$router.resolve({
path: '/visual/errAbnormalDetail',
query: {
type: this.type,
net_type: param.name,
startTime: this.dateRange[0],
endTime: this.dateRange[1],
key: 'errorCode'
},
});
window.open(href, '_blank');
});
let myChart1 = initDev({
dom: document.getElementById('barIos'),
text: i === 0 ? '各机房异常分布' : '客户端异常分布',
pieData: this.abnormalBar,
});
myChart1.off('click');
myChart1.on('click', (param) => {
const { href } = this.$router.resolve({
path: '/visual/errAbnormalDetail',
query: {
type: this.type,
net_type: param.name,
startTime: this.dateRange[0],
endTime: this.dateRange[1],
key: 'abnormalCode'
},
});
window.open(href, '_blank');
});