zoukankan      html  css  js  c++  java
  • 如何实现Echart不刷新页面,多语言切换下的地图数据重新加载,api请求数据加载,soketed数据实时加载

    可视化项目中经常用到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中数据实现多语言

  • 相关阅读:
    UVA 10305 Ordering Tasks(拓扑排序)
    UVA 1152 4 Values whose Sum is 0(中途相遇法)
    UVA 1103 Ancient Messages
    HDU 2141 Can you find it?
    POJ 2456 Aggressive cows(二分+贪心)
    Tallest Cow【模拟】
    Tallest Cow【模拟】
    激光炸弹【模拟】
    激光炸弹【模拟】
    激光炸弹【模拟】
  • 原文地址:https://www.cnblogs.com/bug-master/p/10275578.html
Copyright © 2011-2022 走看看