我在我的durandal项目中使用chart.js来绘制图表,然后我发现了图书馆的一些限制,我发现另一个名为chartnew.js,这非常像chart.js,但是chartnew.js更强大。一切顺利,图表看起来不错。
但是当我发布这个项目时,我遇到了一个非常神秘的问题: 图表不会出现在服务器中,但是当我更改debug =' true'在webconfig中,它可以工作,所有图表都出现在屏幕上。
你们对这种情况有什么看法吗?
答案 0 :(得分:0)
一种可能的解释是,debug=true
引入的轻微服务器端延迟会使图表初始化延迟到足以使canvas元素在调用new Chart...
时具有非零大小。
确认是否是这种情况的一种简单方法是确保您的画布HTML始终可见(即取下任何动态隐藏/显示它的代码......)并查看问题是否发生。
您需要确保在加载图表数据时可以看到canvas元素,即调用new Chart...
。
我认为resizeGraph
和/或chartJsResize
(对于ChartNew.js)也可用于强制重绘(例如,使用具有足够延迟的setTimeout来确保已经渲染了canvas元素)