Ich habe dieses eine Problem für eine Weile gesucht und gearbeitet, aber ich bin mir nicht sicher, was das Problem ist .. Nicht sicher, ob es mit eckigen oder c3 ist.C3 js .. Angular 2 Typescript Aufruf externe Funktion innerhalb c3.generate?
Aus irgendeinem Grund kann ich meine Methode innerhalb der c3generate-Funktion nicht aufrufen, die sich in derselben Komponente befindet.
Das c3-Diagramm wird aus der Vorlage aufgerufen und es funktioniert einwandfrei. Ich habe meine somethingMethod() mit einem Button in der Vorlage getestet und es funktioniert.
Ich möchte in der Lage sein, die somethingMethod() mit der Onclick-Funktion c3 aufrufen, aber es funktioniert nicht. Es lädt nicht einmal this.someTypeTitle = 'asda'; Aber eine Warnung funktioniert, also denke ich, dass ich außerhalb des Umfangs bin, aber nicht genau weiß, wie ich es beheben kann.
@Component({
selector: 'something',
templateUrl: 'something.component.html',
})
export class SomethingComponent{
someTypeTitle: string;
getData(input: string): Array<number>{
return data;
}
somethingMethod(input: string){
someTypeTitle = input;
}
getChart() {
var chart = c3.generate({
bindto: '#stackedbar',
data: {
x: 'x',
columns: [
this.getData(someString),
this.getData(someString) //These work
],
onclick: function (d, e) {
alert(this.internal.config.axis_x_categories[d.x]); // This works
this.someTypeTitle="asdad"; //This doesn't work.
this.someTypeTitle= this.internal.config.axis_x_categories[d.x]; //This doesn't work.
this.somethingMethod(this.internal.config.axis_x_categories[d.x]); //This doesn't work.
},
}...
Sie sollten eine der Antworten als Lösung markieren –