echart報錯: Component series.XXX not exists. Load it first


百度的都不對,也不是版本升級引起的,即使將版本換成以前的還是一樣報錯。

最后一點一點的貼代碼,發現把后天輸出的數據貼到前端就沒問題,直接使用后台輸出的數據就報錯,最后只好在前端轉兩次

 

先看后台的輸出部分:在顯示前計算出各部分的值,然后用ViewBag傳到前台。

        public async Task<IActionResult> Detail(Guid Id)
        {
            var model = await _appService.GetById(new EntityDto<Guid>() { Id=Id});

            var EndTime = (model.EndTime != null && model.EndTime > DateTime.MinValue) ? model.EndTime : DateTime.Now;
            var difference = (EndTime - model.StartTime).TotalHours;
            var legend = model.MonitorTypes.Select(t => t.BaseName).ToList();// model.MonitorList.DistinctBy(p => p.TypeName).ToList();
            if (model.MonitorList.Count > 0)
            {
                legend = model.MonitorList.DistinctBy(p => p.TypeName).Select(t => t.TypeName).ToList();
                var xAxis = model.MonitorList.DistinctBy(p =>p.CreationTime.ToString(difference > 24 ? "dd HH:mm" : "t")).Select(p=>p.CreationTime.ToString(difference > 24 ? "dd HH:mm" : "t")).ToList();
                var yAxis = model.MonitorList.GroupBy(t => t.TypeName).Select(t => new { name = t.Key, type = "line", data = t.Select(p => p.MValue).ToList() });
                ViewBag.ChartData = new { legend, xAxis, yAxis };
            }
            else
                ViewBag.ChartData = new { legend, xAxis=new List<string>(), yAxis=new List<string>() };

            model.MonitorList = new List<MonitorHistoryListDto>();
            
            ViewBag.modules =model;
            return View();
        }

  前台正常是這樣接收的

var ChartData=@Json.Serialize(ViewBag.ChartData);

然后就可以直接使用,現在在使用前加一句:

var datas = JSON.parse(JSON.stringify(parent.ChartData));

為什么?我也不知道,反正為了這個鬼錯誤,折騰了不下半天了,那個parent是因為小伙伴把圖標的顯示寫在ifram里面的


免責聲明!

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



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