<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        在vue中通過(guò)axios異步使用echarts的方法

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:21:24
        文檔

        在vue中通過(guò)axios異步使用echarts的方法

        在vue中通過(guò)axios異步使用echarts的方法:現(xiàn)實(shí)的工作中, 數(shù)據(jù)不可能是像之前的demo演示的那樣把數(shù)據(jù)寫(xiě)死的. 所有的數(shù)據(jù)都應(yīng)該通過(guò)發(fā)送請(qǐng)求進(jìn)行獲取, 所以, 這篇文章, 我將在Vue項(xiàng)目中使用Echarts: 在Vue中引入Echarts中的數(shù)據(jù)提取出來(lái), 放入到static/data.json文件中,請(qǐng)求該文件獲取數(shù)據(jù)。
        推薦度:
        導(dǎo)讀在vue中通過(guò)axios異步使用echarts的方法:現(xiàn)實(shí)的工作中, 數(shù)據(jù)不可能是像之前的demo演示的那樣把數(shù)據(jù)寫(xiě)死的. 所有的數(shù)據(jù)都應(yīng)該通過(guò)發(fā)送請(qǐng)求進(jìn)行獲取, 所以, 這篇文章, 我將在Vue項(xiàng)目中使用Echarts: 在Vue中引入Echarts中的數(shù)據(jù)提取出來(lái), 放入到static/data.json文件中,請(qǐng)求該文件獲取數(shù)據(jù)。

        現(xiàn)實(shí)的工作中, 數(shù)據(jù)不可能是像之前的demo演示的那樣把數(shù)據(jù)寫(xiě)死的. 所有的數(shù)據(jù)都應(yīng)該通過(guò)發(fā)送請(qǐng)求進(jìn)行獲取, 所以, 這篇文章, 我將在Vue項(xiàng)目中使用Echarts: 在Vue中引入Echarts中的數(shù)據(jù)提取出來(lái), 放入到static/data.json文件中,請(qǐng)求該文件獲取數(shù)據(jù)。

        一、 實(shí)現(xiàn)異步加載數(shù)據(jù)

        (一)引入vue-resource

        通過(guò)npm下載axios

        //命令行中輸入
        npm install axios --save
        

        在main.js中引入axios并注冊(cè)

        // main.js
        import http from './http'
        Vue.prototype.$http = http //掛載到原型上

        (二)設(shè)置data.json

        將該柱狀圖的沒(méi)有數(shù)據(jù)的option抽取到data.json中, 代碼如下:

         {
         "title": { "text": "簡(jiǎn)單餅狀圖" },
         "tooltip": {},
         "xAxis": {
         "data": ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"],
         "name": "產(chǎn)品"
         },
         "yAxis": {},
         "series": [{
         "name": "銷(xiāo)量",
         "type": "bar",
         "data": [5, 20, 36, 10, 10, 20],
         "itemStyle": { 
         "normal": {
         "color": "hotpink"
         }
         }
         }]
        }
        

        (三)在async-bar-chart.vue中請(qǐng)求數(shù)據(jù)

        1. 從aysnc-barChart-option.js中引入option
        2. 在methods中添加drawBarChart()方法
        3. 在mounted()鉤子函數(shù)中調(diào)用drawBarChart()

        代碼如下:

        <template>
         <div id="myChart" :style="{width: '800px', height: '400px'}"></div>
        </template>
        
        <script>
         export default {
         name: 'echarts',
         data() {
         return {
         msg: 'Welcome to Your Vue.js App',
         goods: {}
         }
         },
         mounted() {
         this.drawLine();
         },
         created() {
         this.$http.get('./static/dat.json').then(res => {
         const data = res.data;
         this.goods = data
         console.log(this.goods);
         console.log(Array.from(this.goods.xAxis.data));
         })
         },
         methods: {
         drawLine() {
         // 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
         let myChart = this.$echarts.init(document.getElementById('myChart'))
         // 繪制圖表
         myChart.setOption({
         title: {}, //{text: '異步數(shù)據(jù)加載示例'},
         tooltip: {},
         xAxis: {
         data: [] //["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
         },
         yAxis: {},
         series: [{
         name: '銷(xiāo)量',
         type: 'bar',
         data: [] //[5, 20, 36, 10, 10, 20]
         }]
         });
         this.$http.get("./static/dat.json") .then((res) => {
         const data = res.data;
         const list = data.series.map(good=>{
         let list = good.data;
         return [...list]
         })
         console.log(list);
         console.log(Array.from(...list));
         myChart.setOption({
         title: data.title,
         xAxis: [{
         data: data.xAxis.data
         }],
         series: [{
         name: '銷(xiāo)量',
         type: 'bar',
         data: Array.from(...list) //[5, 20, 36, 10, 10, 20]
         }]
         });
         })
         }
         }
         }
        </script>
        

        二. 添加加載動(dòng)畫(huà)

        如果數(shù)據(jù)加載時(shí)間較長(zhǎng),一個(gè)空的坐標(biāo)軸放在畫(huà)布上也會(huì)讓用戶(hù)覺(jué)得是不是產(chǎn)生 bug 了,因此需要一個(gè) loading 的動(dòng)畫(huà)來(lái)提示用戶(hù)數(shù)據(jù)正在加載。

        ECharts 默認(rèn)有提供了一個(gè)簡(jiǎn)單的加載動(dòng)畫(huà)。只需要調(diào)用 showLoading 方法顯示。數(shù)據(jù)加載完成后再調(diào)用 hideLoading 方法隱藏加載動(dòng)畫(huà)。

        在drawLine()方法中添加showLoading()和hideLoading(), 代碼如下:

         methods: {
         drawLine() {
         // 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
         let myChart = this.$echarts.init(document.getElementById('myChart'))
         // 繪制圖表
         myChart.setOption({
         title: {}, //{text: '異步數(shù)據(jù)加載示例'},
         tooltip: {},
         xAxis: {
         data: [] //["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
         },
         yAxis: {},
         series: [{
         name: '銷(xiāo)量',
         type: 'bar',
         data: [] //[5, 20, 36, 10, 10, 20]
         }]
         });
         //顯示加載動(dòng)畫(huà)
         myChart.showLoading();
        
         this.$http.get("./static/dat.json").then((res) => {
         setTimeout(() => { //未來(lái)讓加載動(dòng)畫(huà)效果明顯,這里加入了setTimeout,實(shí)現(xiàn)3s延時(shí)
         const data = res.data;
         const list = data.series.map(good => {
         let list = good.data;
         return [...list]
         })
         console.log(list);
         console.log(Array.from(...list));
         myChart.hideLoading(); //隱藏加載動(dòng)畫(huà)
         myChart.setOption({
         title: data.title,
         xAxis: [{
         data: data.xAxis.data
         }],
         series: [{
         name: '銷(xiāo)量',
         type: 'bar',
         data: Array.from(...list) //[5, 20, 36, 10, 10, 20]
         }]
         });
         }, 3000)
         })
         }
         }
        
        

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        在vue中通過(guò)axios異步使用echarts的方法

        在vue中通過(guò)axios異步使用echarts的方法:現(xiàn)實(shí)的工作中, 數(shù)據(jù)不可能是像之前的demo演示的那樣把數(shù)據(jù)寫(xiě)死的. 所有的數(shù)據(jù)都應(yīng)該通過(guò)發(fā)送請(qǐng)求進(jìn)行獲取, 所以, 這篇文章, 我將在Vue項(xiàng)目中使用Echarts: 在Vue中引入Echarts中的數(shù)據(jù)提取出來(lái), 放入到static/data.json文件中,請(qǐng)求該文件獲取數(shù)據(jù)。
        推薦度:
        標(biāo)簽: VUE 使用的 異步
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲日本在线电影| 337p欧洲亚洲大胆艺术| 亚洲中文字幕无码久久| 222www在线观看免费| 亚洲精品视频在线| 99re免费视频| 亚洲高清无在码在线电影不卡| 无码一区二区三区免费| 亚洲第一中文字幕| a拍拍男女免费看全片| 亚洲永久中文字幕在线| 99久久免费国产香蕉麻豆| 亚洲AV成人无码天堂| 四虎影院免费在线播放| 婷婷亚洲综合一区二区| 亚洲欧洲一区二区三区| 中文字幕乱理片免费完整的| 久久亚洲精品成人综合| 97在线视频免费| 亚洲日韩国产二区无码 | 久久永久免费人妻精品下载| 亚洲AV无码成人网站久久精品大| 三年片在线观看免费大全电影| 亚洲激情视频网站| 国产在线ts人妖免费视频| 一级黄色免费毛片| 亚洲黄色在线观看网站| 免费无码一区二区三区蜜桃大| 日韩免费码中文在线观看| 国产亚洲真人做受在线观看| 18成禁人视频免费网站| 亚洲gay片在线gv网站| 亚洲中文字幕第一页在线| 免费视频爱爱太爽了| 美女视频黄频a免费| 亚洲第一成年男人的天堂| 最新69国产成人精品免费视频动漫 | 免费观看国产小粉嫩喷水| 久久成人免费播放网站| 99无码人妻一区二区三区免费| 国产无遮挡吃胸膜奶免费看|