可视化项目中经常用到ecahrt,各种异步加载,连接socket,多语言切换等问题,现在汇总一下:

Ecahrt初始化,全局统一init,可以初始化为0,等待后续数据操作

1、如果是api重新请求,数据手动获取这种方式,直接setOption;

2、 如果是socket实时数据传输展示,直接setOption,但是有tab切换等引起找不到dom的宽高,可以监听切换的事件,在正确的index下resize();

3、 如果是地图数据,第一次也是手动加载:

 

import i18n from '@/assets/i18n'
if(i18n.locale == 'zh'){
    echarts.registerMap('china'。。。)
}else{
     echarts.registerMap('china'。。。)
}

 

然后用户更改了语言版本,监测到该事件:

    languageChange(val) {
            switch (val) {
                case "zh":
                    this.language = "中文";
                    break;
                case "en":
                    this.language = "EN";
                    break;
                case "cz":
                    this.language = "česky";
                    break;
                default:
                    break;
            }
            Storage.set("lang", val);
            this.$i18n.locale = val;
            if(val == 'zh'){
                $.getScript('/static/js/china_zh.js');
            }else{
                $.getScript('/static/js/china_en.js');
            }
        }

可以使用jq的getScript(),重新加载资源,这样就可以不刷新重新请求,并让echart中数据实现多语言

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2021-12-21
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-18
  • 2022-01-20
  • 2022-02-10
  • 2021-09-12
  • 2021-12-04
  • 2021-08-19
  • 2022-12-23
相关资源
相似解决方案