【问题标题】:Looping through afterDraw in ChartJS在 ChartJS 中循环 afterDraw
【发布时间】:2021-07-17 02:51:19
【问题描述】:

我在应用程序中使用 afterDraw 并且有大量的数据集数据。这段代码似乎运行了很多次,一遍又一遍,而我只需要它一次。

在画后:

    for(var i = 0; i < categories; i++)
    {
        let next = start + runningTotal;
        ctx.fillText(chart.config.data.categories[i], next / 2, yBottom + 40);

        start = runningTotal;
        runningTotal = runningTotal + xSpace;
    }

它一遍又一遍地绘制。如果将控制台放入循环中,它会运行很多。

图表看起来像这样:

我只想在最后运行一次。

【问题讨论】:

  • 只是好奇,如果您在此行之后添加break; - runningTotal = runningTotal + xSpace; 会发生什么?
  • categories 在您的for-loop 条件下的值是多少?当您面对如此多的重复时,一定是由大量循环引起的。
  • 类别的值为3。

标签: typescript chart.js aurelia


【解决方案1】:

您可以使用afterLayoutafterUpdate 挂钩来执行您的自定义代码,而不是使用afterDraw 挂钩。

请查看 Chart.js 文档中的章节 Chart Update

【讨论】:

    猜你喜欢
    • 2019-09-04
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2018-07-28
    • 2018-07-26
    • 1970-01-01
    • 2019-03-12
    相关资源
    最近更新 更多