echarts異步加載柱狀圖遇到的錯誤- Error: Component series. not exists. Load it first.


今天看了下echarts教程之中的異步加載柱狀圖,我按照教程中的代碼敲出來之后再運行,就報了一個 

Error: Component series. not exists. Load it first.

的錯誤,話不多說,教程中的代碼如下所示:

 

 1 function fetchData(cb) {
 2     // 通過 setTimeout 模擬異步加載
 3     setTimeout(function () {
 4         cb({
 5             categories: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"],
 6             data: [5, 20, 36, 10, 10, 20]
 7         });
 8     }, 1000);
 9 }
10 
11 // 初始 option
12 option = {
13     title: {
14         text: '異步數據加載示例'
15     },
16     tooltip: {},
17     legend: {
18         data:['銷量']
19     },
20     xAxis: {
21         data: []
22     },
23     yAxis: {},
24     series: [{
25         name: '銷量',
26         type: 'bar',
27         data: []
28     }]
29 };
30 
31 fetchData(function (data) {
32     myChart.setOption({
33         xAxis: {
34             data: data.categories
35         },
36         series: [{
37             // 根據名字對應到相應的系列
38             name: '銷量',
39             data: data.data
40         }]
41     });
42 });

 

這樣則會出錯,因為初始化option中的series屬性並沒有與myCharts.setOption中的series屬性一一對應,因此導致series並未被完全加載。

修改后的部分如下:

 1  function fetchData(cb){
 2         setTimeout(function(){
 3             cb({
 4                 categories:["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子","新增"],
 5                 data:[5,20,36,10,10,20,60]
 6             });
 7         },1000);
 8     }
 9 //    初始化option
10     option={
11         title:{
12             text:'異步數據加載'
13         },
14         tooltip:{},
15         legend:{
16             data:['銷量']
17         },
18         xAxis:{
19             data:[]
20         },
21         yAxis:{},
22         series:[{
23             name:'銷量',
24             type:'bar',
25             data:[]
26         }]
27     }
28     fetchData(function(data){
29         mychart.setOption({
30             xAxis:{
31                 data:data.categories
32             },
33             yAxis:{},
34             series:[{
35                 name:'銷量',
36                 type:'bar',
37                 data:data.data
38             }]
39         });
40     });

這樣問題就解決了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM