Vue+echart?展示后端獲取的數(shù)據(jù)實現(xiàn)
最近在合作做一個前后端分離項目時,為了測試我寫的后端部分獲取數(shù)據(jù)的效果,自己也學(xué)了一下 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,這才得到了我們想要的數(shù)組:
[ { "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 部分獲取,保存數(shù)據(jù)了。
<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標(biāo)簽,注意,必須是空標(biāo)簽 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); // 設(shè)置圖標(biāo)樣式 } }, created() { // 這里拿投票數(shù)接口來舉例 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>
到此這篇關(guān)于Vue+echart 展示后端獲取的數(shù)據(jù)實現(xiàn)的文章就介紹到這了,更多相關(guān)Vue echart 展示后端數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3?ts編寫echart是tooltip無法展示的解決
- Vue?ECharts實現(xiàn)機(jī)艙座位選擇展示功能代碼詳解
- Vue聯(lián)動Echarts實現(xiàn)數(shù)據(jù)大屏展示
- vue echarts實現(xiàn)柱狀圖動態(tài)展示
- 基于vue+echarts數(shù)據(jù)可視化大屏展示的實現(xiàn)
- vue+echarts+datav大屏數(shù)據(jù)展示及實現(xiàn)中國地圖省市縣下鉆功能
- Vue中使用Echarts儀表盤展示實時數(shù)據(jù)的實現(xiàn)
- 基于vue+echarts 數(shù)據(jù)可視化大屏展示的方法示例
相關(guān)文章
詳解Vue.js 作用域、slot用法(單個slot、具名slot)
這篇文章主要介紹了Vue.js 作用域、slot用法(單個slot、具名slot),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10VUE之關(guān)于store狀態(tài)管理核心解析
這篇文章主要介紹了VUE之關(guān)于store狀態(tài)管理核心解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Vue3+ElementUI 多選框中復(fù)選框和名字點擊方法效果分離方法
這篇文章主要介紹了Vue3+ElementUI 多選框中復(fù)選框和名字點擊方法效果分離方法,文中補(bǔ)充介紹了VUE-Element組件 CheckBox多選框使用方法,需要的朋友可以參考下2024-01-01element-ui 中使用upload多文件上傳只請求一次接口
這篇文章主要介紹了element-ui 中使用upload多文件上傳只請求一次接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07解決vue+element 鍵盤回車事件導(dǎo)致頁面刷新的問題
今天小編就為大家分享一篇解決vue+element 鍵盤回車事件導(dǎo)致頁面刷新的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08