Vue+echart 展示后端获取的数据实现

 更新时间:2023年01月18日 08:23:19   作者:JaydenChang  
本文主要介绍了Vue+echart 展示后端获取的数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近在合作做一个前后端分离项目时,为了测试我写的后端部分获取数据的效果,自己也学了一下 vue 的知识,在获取 json 信息这里也踩了很多坑。

这里列举下我返回的 json 部分信息:

{
  "house_basic": [
    {
      "HOUSE_ID": "00001",
      "HOUSE_NAME": "盈翠华庭122A户型",
      "HOUSE_AREA": "122",
      "HOUSE_STATE": 0,
      "HOUSE_SPECIAL": "采光好,南北通透"
    },
    {
      "HOUSE_ID": "00002",
      "HOUSE_NAME": "北海中心中间户",
      "HOUSE_AREA": "92",
      "HOUSE_STATE": 0,
      "HOUSE_SPECIAL": "采光好,客厅朝南"
    }
  ]
}

vue 的 script 部分:

<script>
// 基本的script部分框架
import axios from 'axios';
export default {
    created() {
        axios.get('http://<ip>:9999/vote/api')
        .then((res) = > {
            console.log(res);
        })
    }
}
</script>    

我们打印一下 res.data,得到的是:

{
    {
        "score": [
        {
            "HOUSE_ID": "00001",
            "HOUSE_VOTE": 5,
            "HOUSE_NAME": "盈翠华庭122A户型"
        },
        {
            "HOUSE_ID": "00002",
            "HOUSE_VOTE": 22,
            "HOUSE_NAME": "北海中心中间户"
        }
    ]},
    // 略过不重要信息
}

我们再打印 res.data.score,这才得到了我们想要的数组:

[
    {
      "HOUSE_ID": "00001",
      "HOUSE_VOTE": 5,
      "HOUSE_NAME": "盈翠华庭122A户型"
    },
    {
      "HOUSE_ID": "00002",
      "HOUSE_VOTE": 22,
      "HOUSE_NAME": "北海中心中间户"
    }
]

输出其中一条的子条目看看 res.data.score[0].HOUSE_ID:00001。

在搞清楚返回的 data 后,就可以来写 script 部分获取,保存数据了。

<template>
    <div id='main'></div>
</template>
<script>
// BarChart.vue
import axios from 'axios';
export default {
    name: 'barChart',
    methods :{
        initChart() {
            var echarts = require('echarts');
            let myChart = echarts.init(document.getElementBuId('main'));
            // 这里需要一个id为main的空div标签,注意,必须是空标签
            var option = {
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow',
                    }
                },
                xAxis: {
                    type: 'category',
                    name: 'id', //x轴的名称
                    data: this.idData,
                },
                yAxis: {
                    type: 'value',
                    name: 'vote',
                   // data: this.voteData,
                    // y轴好像不放data也没多大影响
                },
                series: [{
                    data: this.voteData,
                    type: 'bar',
                }]
            }
            myChart.setOption(option); // 设置图标样式
        }
    },
    created() {
        // 这里拿投票数接口来举例
        axios.get('http://<ip>:9999/vote/api')
        .then((res) => {
            this.idData = [];
            this.voteData = [];
            if (res.status == 200) {
                let temp = res.data.score;
                for (let i in temp) {
                    this.idData.push(temp[i].HOUSE_ID);
                    this.voteData.push(temp[i].HOUSE_VOTE);                    
                }
            }
            this.initChart();
        })
    },
    mounted() {
        this.initChart();
    }
}
</script>

到此这篇关于Vue+echart 展示后端获取的数据实现的文章就介绍到这了,更多相关Vue echart 展示后端数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue.js 加入高德地图的实现代码

    Vue.js 加入高德地图的实现代码

    这篇文章主要介绍了Vue.js 加入高德地图的实现方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 一文搞懂Vue中computed和watch的区别

    一文搞懂Vue中computed和watch的区别

    这篇文章主要和大家详细介绍一下Vue中computed和watch的使用与区别,文中通过示例为大家进行了详细讲解,对Vue感兴趣的同学,可以学习一下
    2022-11-11
  • vue打包后修改配置后端IP地址、端口等信息两种方法

    vue打包后修改配置后端IP地址、端口等信息两种方法

    这篇文章主要给大家介绍了关于vue打包后修改配置后端IP地址、端口等信息的两种方法,文中通过代码示例以及图文介绍的非常详细,对大家学习或者使用vue打包具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 解决elementui表格操作列自适应列宽

    解决elementui表格操作列自适应列宽

    这篇文章主要介绍了解决elementui表格操作列自适应列宽,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • vue3使用el-upload上传文件示例详解

    vue3使用el-upload上传文件示例详解

    这篇文章主要为大家介绍了vue3使用el-upload上传文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 详解Vue.js 作用域、slot用法(单个slot、具名slot)

    详解Vue.js 作用域、slot用法(单个slot、具名slot)

    这篇文章主要介绍了Vue.js 作用域、slot用法(单个slot、具名slot),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • VUE之关于store状态管理核心解析

    VUE之关于store状态管理核心解析

    这篇文章主要介绍了VUE之关于store状态管理核心解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue3+ElementUI 多选框中复选框和名字点击方法效果分离方法

    Vue3+ElementUI 多选框中复选框和名字点击方法效果分离方法

    这篇文章主要介绍了Vue3+ElementUI 多选框中复选框和名字点击方法效果分离方法,文中补充介绍了VUE-Element组件 CheckBox多选框使用方法,需要的朋友可以参考下
    2024-01-01
  • element-ui 中使用upload多文件上传只请求一次接口

    element-ui 中使用upload多文件上传只请求一次接口

    这篇文章主要介绍了element-ui 中使用upload多文件上传只请求一次接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 解决vue+element 键盘回车事件导致页面刷新的问题

    解决vue+element 键盘回车事件导致页面刷新的问题

    今天小编就为大家分享一篇解决vue+element 键盘回车事件导致页面刷新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论