gpt4 book ai didi

javascript - 如何动态配置 FusionCharts 以在不使用 eval 的情况下呈现链接图表

转载 作者:行者123 更新时间:2023-12-03 09:22:53 24 4
gpt4 key购买 nike

是否有一种方法可以动态配置 FusionCharts 以在不使用 eval 的情况下呈现链接图表?我得到了this jsFiddle今天早上来自 FusionCharts 支持,他们向我展示了如何使用 configureLink 方法(位于 jsFiddle 的底部):

chart1.configureLink({
id:'chart1',
type: 'column3d'
});

但请注意对 chart1 的引用及其用作 id - 这些本质上都是硬编码在 jsFiddle 的顶部: var Chart1 = new FusionCharts({...

但是,我们正在动态生成图表,并且我们不知道给定页面上有多少个图表,因此我们在循环内执行它们,如下所示:

FusionCharts.ready(function() {
var fusionChartsCfg = JSON.parse(chartJson); //chartJson defined above

for (var i=0, n=fusionChartsCfg.length; i<n; i++) {
var chartConfig = fusionChartsCfg[i];
new FusionCharts(chartConfig).render();

/*
eval('var fChart = chart' + i + '=new FusionCharts(chartConfig)');
fChart.render();

if (chartConfig.linkedChartType) {
fChart.configureLink({
id:'chart' + i,
type: chartConfig.linkedChartType
});
}
*/
}
});

实际上,我已经让注释中的代码正常工作(而不是行 new FusionCharts(chartConfig).render();),但请注意它对 eval()。有办法避免这种情况吗?考虑到需要通过引用/变量名称引用 FusionChart 实例,并且需要另外将其用作 id 属性,这是我唯一能想到的事情在发送到 configureLink

的配置中

最佳答案

我认为 configureLink 方法中的 id 属性并不那么重要。请引用这个document

这样代码应该可以正常工作

FusionCharts.ready(function() {
var fusionChartsCfg = JSON.parse(chartJson); //chartJson defined above

for (var i=0, n=fusionChartsCfg.length; i<n; i++) {
var chartConfig = fusionChartsCfg[i];
new FusionCharts(chartConfig).render().configureLink({
type: chartConfig.linkedChartType
});
}
});

关于javascript - 如何动态配置 FusionCharts 以在不使用 eval 的情况下呈现链接图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31790292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com