如何使用Angular JS在Highcharts中设置'lang'属性?

时间:2015-08-28 07:35:31

标签: javascript angularjs highcharts localization formatting

我们在使用Angular JS的应用程序中使用Highcharts。我想设置用户文化特定格式的金额格式,我从$ locale服务收到。在引用链接后,我知道我们可以在Highcharts的下面的属性中设置值:

Highcharts.setOptions({
    lang: {
        thousandsSep: ','
    }
});

但是在我的代码中编写它时,我收到的错误是Highcharts没有定义,即使我在config对象中只设置了lang属性也没有工作:

 function extendBaseConfiguration(config) {
      // these options are the default for all the charts.  Pass in an object to override these values (or just change them once they're returned)
    return $.extend(true, {
      chart: {
        plotBackgroundColor: null,
        plotBorderWidth: 0,
        plotShadow: false,
        borderWidth: 0
      },
      plotOptions: {
        column: {
          grouping: false,
          pointPadding: 0.2,
          borderWidth: 0
        }
      },
      lang: {
          decimalPoint: $locale.NUMBER_FORMATS.DECIMAL_SEP,
          thousandsSep: $locale.NUMBER_FORMATS.GROUP_SEP
      },
      tooltip: {  pointFormat: '{series.name}: {point.y}'},
      exporting: {enabled: true},
      credits: {enabled: false}
    }, config);
  }

那么我如何或在哪里注入这个Highcharts,以便我可以设置它的价值。或者是否有任何其他技术可以使用户文化特定格式化。

1 个答案:

答案 0 :(得分:2)

尝试在控制器中使用setOptions,似乎应用了选项。

Highcharts.setOptions({
    lang: {
        printChart: 'Aaaa',
        thousandsSep: ','
    }
});

$scope.chartConfig = {
    options: {
        chart: {
            type: 'bar'
        }
    },
    series: [{
        data: [1000, 1500, 1200, 8000, 7000]
    }],
    title: {
        text: 'Hello'
    },

    loading: false
}

示例:http://jsfiddle.net/Hjdnw/1426/