1

我有一个页面,上面有几个图表,使用Chartist。我希望每个图表都有全局选项和单个选项。

var barChartOptions = {
    reverseData: true,
    horizontalBars: true,
}

new Chartist.Bar('#chart1', {
    labels: [1, 2, 3, 4],
    series: [[100, 120, 180, 200]]
},barChartOptions
  // HOW DO I ADD SPECIFIC OPTIONS?!
                );

new Chartist.Bar('#chart2', {
    labels: [1, 2, 3, 4],
    series: [[120, 90, 150, 100]]
},barChartOptions);

new Chartist.Bar('#chart3', {
    labels: [1, 2, 3, 4],
    series: [[180, 190, 90, 110]]
},barChartOptions);

这是一个展示我的问题的jsFiddle 。

注意:我是 JavaScript n00b,所以我可能在这里遗漏了一些非常基本的东西。

4

1 回答 1

1

假设你使用 jQuery 或 Underscore.js,你可以使用extend( jQuery , Underscore ) 函数来合并两个对象,所以你可以这样做:

var barChartOptions = {
  reverseData: true,
  horizontalBars: true,
}

new Chartist.Bar('#chart1', {
  labels: [1, 2, 3, 4],
  series: [[100, 120, 180, 200]]
},_.extend({/*specific options*/}, barChartOptions));

这样,将传递给的对象Chartist.Bar是您与全局合并的特定选项barChartOptions

于 2015-06-04T05:41:12.023 回答