带有chartjs的javascript动态变量名

问题描述

我正在尝试使用 js 函数更新 chartjs 数据集。问题是根据我的数据库返回的值,我有不同数量的图表。因此,当我将 chartjs 的名称作为参数发送给函数时,它将函数参数设置为我提供的字符串。我需要它使用该字符串作为 chartjs 名称,以便我可以更新该特定图表中的数据集。我知道 eval() 和 window[] 可以做到这一点,但我无法正常工作。

Project

以上是由我的查询提供的记录数创建的对我的函数调用

@foreach (string metric in Model.accelerateGraphDatas.Select(s => s.Metric))
        {                
            <div class="carousel-item">
                <button class="btn btn-bswh" onclick="oneMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+1 month</button>
                <button class="btn btn-bswh" onclick="twoMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+2 month</button>
                <button class="btn btn-bswh" onclick="threeMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+3 month</button>
                <button class="btn btn-bswh" onclick="fourMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+4 month</button>
                <button class="btn btn-bswh" onclick="fiveMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+5 month</button>
                <button class="btn btn-bswh" onclick="sixMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+6 month</button>
                <canvas id="@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())" class="h-100 w-100" alt="@metric"></canvas>
            </div>
        }

这部分是我创建图表和创建函数来更新我的数据集的地方

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)