У меня есть компонент TypeScript с функцией JS. Функция вызывается Kendo UI, поэтому функция выполняется в контексте Javascript, что означает, что я не могу использовать «this» (это возвращает компонент Kendo вызывающего абонента). Я хочу перенаправить страницу в эту функцию, но я скорее использую функции router.navigate * вместо location.href replace. Возможно ли получить доступ к экземпляру маршрутизатора в контексте Javascript?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
}
}
Пожалуйста, покажите код. –
вы можете использовать 'var that = this;' trick. https://www.google.com/?gfe_rd=cr&ei=20AjV9HqFMaFzAW_grrgCg&gws_rd=ssl#q=javascript+this+that –
Вы пробовали '{текст:« Моя кнопка », нажмите: this.myButtonCommand.bind (это), className: "btn"}; '? –