2017-06-25 1 views
0

MyHighChartComponent.tsComment appeler la fonction dactylographiée intérieur événement click haut graphique

export class MyHighChartComponent { 
    highchartsConfiguration: any = { 
     chart: { 
      events: { 
       click(e) { 
        if (!($(event.target)[0].textContent)) { 
         console.log('clicked'); //this is printing 
         this.drillDown(); // how to call typescript function here? 
        } 
       }, 
      }, 
     } 
    }; 

    drillDown() { 
     console.log('drill down method called'); 
    } 
} 

Comment appeler une fonction dactylographiée de graphiques à l'intérieur de haut événement click?

Je reçois ci-dessous erreur

erreur Stack: TypeError: this.drillDownis pas une fonction

+0

assurez-vous que le code est js/ts valide :) – toskv

+0

@toskv il est valide, mais je n'ai pas affiché tout le code, car il n'est pas nécessaire . Je voulais juste savoir comment appeler la méthode drillDown –

+0

le code que vous avez posté n'est pas un code javascript valide .. le clic (e) {} n'est pas valide js .. tout ce qui vous manque est l'utilisation d'une fonction fléchée pour le gestionnaire de clic c'est tout. – toskv

Répondre

1

Vous devez utiliser une fonction de flèche pour conserver le même contexte (ce) dans le gestionnaire de clic.

Il ressemblerait à ceci:

export class MyHighChartComponent { 
    highchartsConfiguration: any = { 
     chart: { 
      events: { 
       click : (e) => { 
        if (!($(event.target)[0].textContent)) { 
         console.log('clicked'); //this is printing 
         this.drillDown(); // how to call typescript function here? 
        } 
       }, 
      }, 
     } 
    }; 

    drillDown() { 
     console.log('drill down method called'); 
    } 
} 
+0

merci beaucoup. Ça marche –