【分享】vue+Echarts动态数据已经赋值,但是无法渲染页面的问题
  OIW0KlaMcRRl 2023年11月28日 23 0


前言:对于后端的小伙伴来说,现在用vue-element-admin 真的太香了,毕竟Java向的程序员,光后端技术栈就得学到头皮发麻啊,所以,感谢尤雨溪,感谢饿了么,感谢花裤衩。

最近在帮朋友写东西的时候,用到了饼图,可是数据明明已经加载到了,并且格式是对的,但是为啥就没法渲染呢?

出现类似的问题,我们的思路往往是如下排除:

1.代码本身是否有问题。

2.数据格式对吗。

3.代码加载顺序。

所以,这就要求我们对前端,或者直接说js弱类型(当然es6和ts是比较严格了)比较适应,同时对Vue基础比较扎实,然后就是对Vue生命周期钩子熟悉了。

遇到了这个问题,一则可以使用watch,监听数据变化。

watch: {
    echarts_option: {
      handle(newVal,oldVal) {
        if(this.chart){
          if(newVal){
            this.chart.setOption(newVal);
          }else{
            this.chart.setOption(oldVal);
          }
        }
      }
    }
  }

这里的this.chart是放在data里边的,你的chart的实例

第二个是,直接将重新绘制的函数,写在后端请求的then里边

getData() {
       summaryAPI.getTerminalList().then(data => {
        console.log(data.data);
        let dataArray = [];
        dataArray = data.data;
        console.log(dataArray);
        for(let i = 0;i<dataArray.length;i++){
          this.legendData.push(dataArray[i].type);
          let singleData = {value: dataArray[i].count,name: dataArray[i].type}
          this.seriesData.push(singleData);
        }
        console.log('data->'+this.legendData+'-'+this.seriesData)
         this.$nextTick(() => {
          this.initChart()
        })
      }).catch();
    }

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
OIW0KlaMcRRl