首页 > 解决方案 > 在 ChartJS 中循环 afterDraw

问题描述

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

在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;
    }

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

图表看起来像这样:

在此处输入图像描述

我只想在最后运行一次。

标签: typescriptchart.jsaurelia

解决方案


除了使用afterDraw钩子,您可以使用afterLayoutorafterUpdate钩子来执行您的自定义代码。

请查看Chart.js 文档中的图表更新章节。


推荐阅读