gpt4 book ai didi

javascript - 在 Javascript 代码中访问路由器

转载 作者:行者123 更新时间:2023-11-30 00:09:52 25 4
gpt4 key购买 nike

我有一个带有 JS 函数的 TypeScript 组件。该函数由 Kendo UI 调用,因此该函数在 Javascript 上下文中执行,这意味着我不能使用“this”(这会返回调用者 Kendo 组件)。我想在此函数中重定向页面,但我宁愿使用 router.navigate* 函数而不是 location.href 替换。是否可以在 Javascript 上下文中访问路由器实例?

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
}
}

最佳答案

我觉得应该可以

private configureGrid() {
let kendoGrid: kendo.ui.Grid = jQuery(this.grid.nativeElement).data("kendoGrid");
let kendoColumn: kendo.ui.GridColumn = {};
kendoColumn.command = { text: "My Button", click: (e) => this.myButtonCommand(e), className: "btn" };
kendoGrid.columns.add(kendoColumn);
}

并且您应该能够在 myButtonCommand() 中调用 this.router.navigate...()

关于javascript - 在 Javascript 代码中访问路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36936707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com