Stratím nad tým svoju myseľ a vlasy. Importujem HighCharts v Angular 2, ale potrebujem niektoré z jeho ďalších knižníc. Zatiaľ v mojom kóde mám
import {ChartModule} from "angular2-highcharts";
@NgModule({
....
imports:[
ChartModule.forRoot(require("highcharts"), require("highcharts/modules/drilldown"))})
]
Ale túto chybu stále dostávam
Chyba pri rozpoznávaní symbolu sa vyskytla chybahodnoty staticky. Volanie funkcie "ChartModule". volania funkcií nie sú podporované. Zvážte nahradenie funkcie alebo lambda odkazom na exportovanú fukciu.
Tak som to skúsil
export function highchartsRequire:any {
return{
require("highcharts"),
require("highcharts/modules/drilldown")
}
}
...
ChartModule.forRoot(highchartsRequire())
Stále nefunguje. Máte nejaké nápady?
Použitie uhlového 2 uhlové cli: 1,0,0-beta,30
UPDATE - vďaka funkcii JayChase to čiastočne fungovalo
To funguje
export function highchartsFactory() {
return require("highcharts");
}
Ale nemôžem požadovať dve naraz
declare var require: any;
export function highchartsFactory() {
return function () {
require("highcharts");
require("highcharts/modules/drilldown")
};
}
@NgModule({
imports: [
ChartModule
],
providers: [
{
provide: HighchartsStatic,
useFactory: highchartsFactory
}
],
Nejaké nápady? Ďakujem.
odpovede:
19 pre odpoveď č. 1Pre tento problém a riešenie existuje otvorený problém tu pomocou exportovanej funkcie.
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 { }