Ich verwende einen Wrapper für Chart.js, mit dem ein Animationsrückruf ermittelt werden kann, wenn das Diagramm fertig gezeichnet ist.Aufruf einer TypeScript-Funktion aus einer Chart.js-Option Callback
Also, schauen meine Chart Optionen wie folgt aus:
public chartOptions: any = {
animation: {
duration: 2000,
onComplete: function() {
//alert('anim complete');
this.chartTestMethod();
}
},
responsive: true
};
und meine chartTestMethod()
sieht wie folgt aus:
chartTestMethod() {
console.log('chartTestMethod called.');
}
Meine Hoffnung ist es, die Methode zu haben chartTestMethod()
(die in der gleichen Typoskript-Datei) aufgerufen, wenn die Diagrammanimation abgeschlossen ist. Wenn jedoch die Animation abgeschlossen ist und dass Methodenaufruf Zeile ausgeführt wird, erhalte ich die Fehlermeldung:
TypeError: this.chartTestMethod is not a function.
Grundsätzlich, wie kann ich diese Methode richtig nennen?
Erstens, es löst nicht das Problem von OP, weil es dasselbe ist wie die Definition der Funktion als Schlüssel eines Objekts. Zweitens ist die Pfeilfunktion nicht in allen ECMAScript-Versionen verfügbar. –
Die Frage ist mit "typescript" beschriftet, und wenn das OP keine Zielpfeilfunktionen auswählt, wird es mit closure emuliert. In jedem Fall wird mit einer Pfeilfunktion "this" auf die Instanz von dem, was chartOptions enthält, zeigen. – sgrtho
Danke für die Eingabe Jungs. shrtho's Antwort hat perfekt für mich funktioniert. – Roka545