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里面的
将偷懒进行到极致,是一个程序员的基本素养

浙公网安备 33010602011771号