Ich habe eine TypeScript-Komponente mit einer JS-Funktion darin. Die Funktion wird von Kendo UI aufgerufen, so dass die Funktion im Javascript-Kontext ausgeführt wird, was bedeutet, dass ich "this" nicht verwenden kann (dies gibt die aufrufende Kendo-Komponente zurück). Ich möchte die Seite in dieser Funktion umleiten, aber ich benutze lieber router.navigate * Funktionen anstelle von location.href ersetzen. Ist es möglich, auf die Router-Instanz im Javascript-Kontext zuzugreifen?Access Router in Javascript-Code
export class MyComponent implements AfterViewInit {
//template: `<div #grid></div>`
@ViewChild('grid') private grid: ElementRef;
ngAfterViewInit() {
this.configureGrid();
}
private configureGrid() {
let kendoGrid: kendo.ui.Grid = jQuery(this.grid.nativeElement).data("kendoGrid");
let kendoColumn: kendo.ui.GridColumn = {};
kendoColumn.command = { text: "My Button", click: this.myButtonCommand, className: "btn" };
kendoGrid.columns.add(kendoColumn);
}
myButtonCommand(e) {
//redirect here
}
}
einige Code Bitte zeigen. –
kann man 'var that = this;' trick verwenden. https://www.google.com/?gfe_rd=cr&ei=20AjV9HqFMaFzAW_grrgCg&gws_rd=ssl#q=javascript+dieses+das –
Haben Sie versucht, {{text: "My Button", klicken Sie auf: this.myButtonCommand.bind (this), Klassenname: "btn"}; '? –