我的方法绑定到名为onCellPrepared的角度组件 我在方法中使用jquery附加了span标记,在span标记的onclick事件中我想调用一个角度服务来将导航路由到另一个页面?
如何在我的javascript方法中调用角度服务。目前,当我致电this.routerService.navigate(...)
我是否可以通过java脚本路由设置页面在点击跨区域时应该导航的位置,它仍然应该通过角度路由配置。
onCellPrepared(e:any) {
if (e.cell && e.cell.type == "D") {
$('<span>')
.addClass('fa fa-cog')
.click(function(arg) {
sessionStorage.setItem("filter",
JSON.stringify([e.cell.path]));
this.routerService.navigate(["reconciliation-detail"]);
})
.appendTo(e.cellElement);
}
}
答案 0 :(得分:0)
您遇到的问题来自this
。
在您的点击回调函数this
内部没有引用您的类,并且不包含路由器服务,它指的是它所在的函数。
要解决此问题,您可以使用箭头符号()=>{}
代替function(){}
。
使用箭头表示法停止由函数创建this
上下文。
以下是有关如何使用Arrow Notation
的资源