1

私はAngular4とangular2-highchartsを利用しています。ドキュメントによると、highchartsモジュールにrequire属性を含める必要があります。それはhighchartsモジュールを含むのにうまくいきましたが、追加のモジュール(ハイチャート - ハイライト、ハイマップなど)ではうまく機能しませんでした。私はhighchartsのより多くのモジュールが含まれている場合、私のようなエラーが出:Angular4 Highchartsタイプrequireエラーを使用する

TypeError: n is not a function 
TypeError: n is not a function 
    at highcharts-more.js:8 
    at highcharts-more.js:11 

私はそれが余分なモジュールを使用するので、今働いていないヒートマップを実装する必要があります。どのようにこれを解決するための任意のアイデア?ここで

heatmapシリーズタイプはhighcharts-moreファイルにない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 
    } 
    ] 
+0

なぜあなたはそのような部品を初期化していますか教えてください。モジュールはHighchartsのインスタンスで初期化する必要があります。例えば 'hmod(hc); hex(hc); return hc; '。たとえば、Highchartsのインスタンスを渡すと、次のようになります。ここに示すように:https://github.com/gevgeny/angular2-highcharts#access-to-the-highcharts-static-api –

+0

私はhmod(hc)を実行するかどうかは本当に問題ではありません。 hex(hc); hcを返します。または私がしたこと。私はまだエラーが表示されます:Error:Highcharts error#17。ハイチャートはこのようにうまく機能するので(何らかの理由で必要が認識されない)、highchartsなどの別のハイチャートモジュールを実装するとすぐに機能しないという問題があるので、このhighchartsFactoryソリューションを使用しました。だから、もし私がこれを行うだけでは( 'ハイチャート'を必要とせずに)、正常なチャートではすべて正常に動作します。私はヒートマップを稼働させようとしています。 – viddrawings

答えて

0

私はapp.moduleで次の操作を行って、この問題を解決しました。 ts

declare const require: any; 
export function highchartsFactory() { 
    let Highcharts = require('highcharts'); 
    let Heatmap = require('highcharts/modules/heatmap'); 
    Heatmap(Highcharts); 
    return Highcharts; 
} 
関連する問題