如何导入highcharts-更多

Jes*_*per 6 highcharts angular2-highcharts angular

我想使用highcharts中的spiderweb图表,这需要我更多地导入highcharts,但我无法弄清楚如何做到这一点.目前,这就是我将highcharts添加到我的项目中的方式,来自app.module.ts:

import { ChartModule } from 'angular2-highcharts';
import { HighchartsStatic } from 'angular2-highcharts/dist/HighchartsService';
import * as Highcharts from 'highcharts/highstock';

imports: [
    ChartModule
]

providers: [{
    provide: HighchartsStatic,
    useValue: Highcharts
}],
Run Code Online (Sandbox Code Playgroud)

当我尝试像这样导入它时:

import * as HighchartsMore from 'highcharts/highcharts-more';
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Module '"c:/pdws-view-v2/node_modules/@types/highcharts/highcharts-more"' resolves to a non-module entity and cannot be imported using this construct.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Z. *_*ley 28

您无需使用外部模块即可在Angular应用程序中使用highcharts或任何扩展程序包.您需要做的只是npm install --save highcharts在组件中以及其他导入包括:

// HIGHCHARTS
import * as Highcharts from 'highcharts';
declare var require: any;
require('highcharts/highcharts-more')(Highcharts);
require('highcharts/modules/solid-gauge')(Highcharts);
require('highcharts/modules/heatmap')(Highcharts);
require('highcharts/modules/treemap')(Highcharts);
require('highcharts/modules/funnel')(Highcharts);
let chartHolder;
Run Code Online (Sandbox Code Playgroud)

和示例用法:

ngOnInit() {
  chartHolder = Highcharts.chart('container', newOptions);
}
Run Code Online (Sandbox Code Playgroud)

并且您可以更新图表选项:

updateChart(newOptions) {
  chartHolder.update(newOptions);
}
Run Code Online (Sandbox Code Playgroud)

  • _declare var require:any_这太可怕了 - 但它对我有用.非常感谢 (2认同)

Woj*_*h K 7

highcharts-moreNPM包已被弃用-有没有需要安装它。只要确保highcharts已安装。

解:

import * as Highcharts from 'highcharts';
import more from 'highcharts/highcharts-more';
more(Highcharts);
Run Code Online (Sandbox Code Playgroud)

  • 这解决了我在highcharts-vue中使用arearange系列的问题。谢谢! (2认同)