Vue+echart?展示后端獲取的數(shù)據(jù)實(shí)現(xiàn)
最近在合作做一個(gè)前后端分離項(xiàng)目時(shí),為了測試我寫的后端部分獲取數(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'));
// 這里需要一個(gè)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ù)實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue echart 展示后端數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3?ts編寫echart是tooltip無法展示的解決
- Vue?ECharts實(shí)現(xiàn)機(jī)艙座位選擇展示功能代碼詳解
- Vue聯(lián)動(dòng)Echarts實(shí)現(xiàn)數(shù)據(jù)大屏展示
- vue echarts實(shí)現(xiàn)柱狀圖動(dòng)態(tài)展示
- 基于vue+echarts數(shù)據(jù)可視化大屏展示的實(shí)現(xiàn)
- vue+echarts+datav大屏數(shù)據(jù)展示及實(shí)現(xiàn)中國地圖省市縣下鉆功能
- Vue中使用Echarts儀表盤展示實(shí)時(shí)數(shù)據(jù)的實(shí)現(xiàn)
- 基于vue+echarts 數(shù)據(jù)可視化大屏展示的方法示例
相關(guān)文章
vue3中el-table實(shí)現(xiàn)表格合計(jì)行的示例代碼
這篇文章主要介紹了vue3中el-table實(shí)現(xiàn)表格合計(jì)行,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
vue實(shí)現(xiàn)實(shí)時(shí)上傳文件進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)實(shí)時(shí)上傳文件進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
vue 實(shí)現(xiàn)的樹形菜的實(shí)例代碼
這篇文章主要介紹了vue 實(shí)現(xiàn)的樹形菜單,需要的朋友可以參考下2018-03-03
vue項(xiàng)目打包解決靜態(tài)資源無法加載和路由加載無效(404)問題
這篇文章主要介紹了vue項(xiàng)目打包,解決靜態(tài)資源無法加載和路由加載無效(404)問題,靜態(tài)資源無法使用,那就說明項(xiàng)目打包后,圖片和其他靜態(tài)資源文件相對路徑不對,本文給大家介紹的非常詳細(xì),需要的朋友跟隨小編一起看看吧2023-10-10
vue項(xiàng)目實(shí)現(xiàn)減少app.js和vender.js的體積操作
這篇文章主要介紹了vue項(xiàng)目實(shí)現(xiàn)減少app.js和vender.js的體積操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
解決Vue keep-alive 調(diào)用 $destory() 頁面不再被緩存的情況
這篇文章主要介紹了解決Vue keep-alive 調(diào)用 $destory() 頁面不再被緩存的情況,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Vue 3 中使用 OpenLayers 實(shí)時(shí)顯示 zoom 
本文介紹了如何在 Vue 3 中使用 OpenLayers 來獲取地圖的 zoom 值以及四角坐標(biāo)信息,并實(shí)時(shí)更新數(shù)據(jù),這種方式可以用于 GIS 應(yīng)用開發(fā),幫助用戶更好地了解當(dāng)前地圖范圍,感興趣的朋友一起看看吧2025-04-04
淺談在vue項(xiàng)目中如何定義全局變量和全局函數(shù)
本篇文章主要介紹了淺談在vue項(xiàng)目中如何定義全局變量和全局函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10

