2017-03-06 7 views
6

मैं इस पर अपना दिमाग और बाल खो रहा हूं। मैं कोणीय 2 में हाईचर्ट आयात कर रहा हूं लेकिन इसके कुछ अतिरिक्त पुस्तकालयों की आवश्यकता है। तो मेरी कोड में जहाँ तक मुझेकोणीय 2 - एओटी - कॉलिंग फ़ंक्शन 'चार्ट मॉड्यूल', फ़ंक्शन कॉल समर्थित नहीं हैं

import {ChartModule} from 'angular2-highcharts'; 
@NgModule({ 
.... 
imports:[ 
ChartModule.forRoot(require('highcharts'), require('highcharts/modules/drilldown'))}) 
] 

है लेकिन मैं इस त्रुटि त्रुटि में

त्रुटि स्थिर प्रतीक मूल्यों को हल करने का सामना करना पड़ा मिलती रहती है। कॉलिंग फ़ंक्शन 'चार्ट मॉड्यूल'। फ़ंक्शन कॉल समर्थित नहीं हैं। एक निर्यातित फ्यूशन के संदर्भ में फ़ंक्शन या लैम्ब्डा को बदलने पर विचार करें।

तो मैं

export function highchartsRequire:any { 
    return{ 
    require('highcharts'), 
    require('highcharts/modules/drilldown') 
    } 
} 
... 
ChartModule.forRoot(highchartsRequire()) 

की कोशिश की फिर भी काम नहीं करता। कोई विचार?

कोणीय 2 कोणीय CLI का उपयोग करना: 1.0.0-beta.30

अद्यतन - यह आंशिक रूप से JayChase करने के लिए धन्यवाद काम कर

यह काम करता है मिल गया

export function highchartsFactory() { 
     return require('highcharts'); 

    } 

लेकिन मुझे एक समय में दो की आवश्यकता नहीं हो सकती है

declare var require: any; 
export function highchartsFactory() { 
    return function() { 
    require('highcharts'); 
    require('highcharts/modules/drilldown') 
    }; 
} 

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

कोई विचार? धन्यवाद।

उत्तर

17

इस के लिए एक मुद्दा खुला है और निर्यात किए गए फ़ंक्शन का उपयोग करके here कार्यवाही है।

import { BrowserModule } from '@angular/platform-browser'; 
    import { NgModule } from '@angular/core'; 
    import { FormsModule } from '@angular/forms'; 
    import { HttpModule } from '@angular/http'; 
    import { ChartModule } from 'angular2-highcharts'; 
    import { HighchartsStatic } from 'angular2-highcharts/dist/HighchartsService'; 

    import { AppComponent } from './app.component'; 

    declare var require: any; 

    export function highchartsFactory() { 
     const hc = require('highcharts'); 
     const dd = require('highcharts/modules/drilldown'); 
     dd(hc); 

     return hc; 
    } 

    @NgModule({ 
     declarations: [ 
     AppComponent 
     ], 
     imports: [ 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     ChartModule 
     ], 
     providers: [ 
     { 
      provide: HighchartsStatic, 
      useFactory: highchartsFactory 
     } 
     ], 
     bootstrap: [AppComponent] 
    }) 
    export class AppModule { } 
+0

इसके लिए आपको बहुत बहुत धन्यवाद। अगर मैं ड्रिलडाउन की भी आवश्यकता लेना चाहता हूं, तो क्या मैं बस एक और कारखाना जोड़ूं? – Julian

+0

@ जुलिएन मुझे लगता है कि आपको एक समारोह में दोनों कॉल की आवश्यकता होनी चाहिए। मैंने जवाब में कोड जोड़ा है। – JayChase

+0

फ़ंक्शन में फ़ंक्शन – Julian

संबंधित मुद्दे