Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular4 Highcharts类型错误使用require_Javascript_Angular_Highcharts_Heatmap_Angular2 Highcharts - Fatal编程技术网

Javascript Angular4 Highcharts类型错误使用require

Javascript Angular4 Highcharts类型错误使用require,javascript,angular,highcharts,heatmap,angular2-highcharts,Javascript,Angular,Highcharts,Heatmap,Angular2 Highcharts,我在利用Angular4和angular2的海图。根据文档,我需要包含带有require属性的highcharts模块。它在包含highcharts模块时效果很好,但在附加模块(highcharts more、highmaps等)时效果不佳。当我包含更多海图模块时,我会出现如下错误: TypeError: n is not a function TypeError: n is not a function at highcharts-more.js:8 at highcharts

我在利用Angular4和angular2的海图。根据文档,我需要包含带有require属性的highcharts模块。它在包含highcharts模块时效果很好,但在附加模块(highcharts more、highmaps等)时效果不佳。当我包含更多海图模块时,我会出现如下错误:

TypeError: n is not a function
TypeError: n is not a function
    at highcharts-more.js:8
    at highcharts-more.js:11
我需要实现一个热图,它现在不工作了,因为它使用了额外的模块。你知道怎么解决这个问题吗

这是我的app.module.ts代码

   // solution for angular not picking up required attribute
    declare const require: any;
    export function highchartsFactory() {
      let hc = require('highcharts');
      let hex = require('highcharts/modules/exporting');
      let hmod = require('highcharts/highcharts-more');
      hex(hc);
      hmod(hex);
      return hc;
    }

    imports: [
        ChartModule,
      ],
    providers: [
    {
      provide: HighchartsStatic,
      useFactory: highchartsFactory
    }
   ]

heatmap
系列类型不在
highcharts more
文件中。所需文件为
热图
——如本演示所示:

如本文件所述:


我通过在app.module.ts中执行以下操作解决了此问题

declare const require: any;
export function highchartsFactory() {
  let Highcharts = require('highcharts');
  let Heatmap = require('highcharts/modules/heatmap');
  Heatmap(Highcharts);
  return Highcharts;
}

你能告诉我们为什么要初始化这些部件吗?模块应该在Highcharts实例上初始化,如
hmod(hc);十六进制(hc);返回hc。然后,当你通过Highcharts实例时,如图所示:我是否做hmod(hc)其实并不重要;十六进制(hc);返回hc;或者我做了什么。我仍然得到错误:错误:高图表错误#17。我使用这个highcharts工厂解决方案是因为highcharts以这种方式工作很好(因为某些原因,require没有被识别),问题是,一旦我实现另一个highcharts模块(如highcharts more),它就无法工作。所以,如果我不需要只需要(‘highcharts’)就可以完成这项工作,那么对于普通图表来说,一切都很好。我正在试着让热图工作。