Sto perdendo la testa e i capelli per questo. Sto importando HighCharts in Angular 2 ma ho bisogno di alcune delle sue librerie extra. Finora nel mio codice ho
import {ChartModule} from "angular2-highcharts";
@NgModule({
....
imports:[
ChartModule.forRoot(require("highcharts"), require("highcharts/modules/drilldown"))})
]
Ma continuo a ricevere questo errore
ERRORE in Errore rilevato simbolo di risoluzionevalori staticamente. Chiamata della funzione "ChartModule". le chiamate di funzione non sono supportate. Considera di sostituire la funzione o lambda con un riferimento a una fucntion esportata.
Così ho provato
export function highchartsRequire:any {
return{
require("highcharts"),
require("highcharts/modules/drilldown")
}
}
...
ChartModule.forRoot(highchartsRequire())
Non funziona ancora. Qualche idea?
Usando angolare 2 cli angolare: 1.0.0-beta.30
AGGIORNAMENTO - parzialmente funzionato grazie a JayChase
Questo funziona
export function highchartsFactory() {
return require("highcharts");
}
Ma non posso richiederne due alla volta
declare var require: any;
export function highchartsFactory() {
return function () {
require("highcharts");
require("highcharts/modules/drilldown")
};
}
@NgModule({
imports: [
ChartModule
],
providers: [
{
provide: HighchartsStatic,
useFactory: highchartsFactory
}
],
Qualche idea? Grazie.
risposte:
19 per risposta № 1C'è un problema aperto per questo e una soluzione alternativa Qui usando una funzione esportata.
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 { }