Angular 自定义按钮单击的ActivateRoute未定义

Angular 自定义按钮单击的ActivateRoute未定义,angular,jqgrid,Angular,Jqgrid,一旦columnModel可用,下面的代码将实例化jqgrid以及一个自定义按钮。这个很好用 @组件({ 选择器:“somecomp”, templateUrl:“./somecomp.component.html” }) 导出类SomeComponent实现OnInit{ 私人服务; 私家路;; 构造函数(someService:someService,路由:ActivatedRoute){ 这个。_someService=someService; 这条路线=路线; } 恩戈尼尼特(){ th

一旦columnModel可用,下面的代码将实例化
jqgrid
以及一个自定义按钮。这个很好用

@组件({
选择器:“somecomp”,
templateUrl:“./somecomp.component.html”
})
导出类SomeComponent实现OnInit{
私人服务;
私家路;;
构造函数(someService:someService,路由:ActivatedRoute){
这个。_someService=someService;
这条路线=路线;
}
恩戈尼尼特(){
this.someService.getColumnModel.subscribe(columnModel=>{
(jQuery(“#grid”).jqGrid({
colModel:columnModel,
标题:“数据网格”,
url:“http://sampleurl.com/data"
});
//自定义按钮
(jQuery(“#grid”).navbuttonad(“#pager”{
按钮图标:“用户界面图标添加”,
onclick按钮:()=>{
警报(此._路由);//路由(…)
此.u路径。导航([“/addPage]”);
}   
});
...
单击此按钮时,它需要导航到另一个页面,如图所示。但是,该警报显示为未定义,并给出错误信息,即
无法读取未定义的属性“navigate”

如何确保此路线可用?

尝试更换:

function(){
   alert(this._route);//undefined
   this._route.navigate(["/addPage"]); 
}
与:


否则,
this
引用作为
navbuttonad
函数的第二个参数传递的对象

嘿,好消息!
上下文将更改。但是,
onClickButton:()=>{…}
给了我一个编译错误。@amdg你能提供更多细节吗?我添加了更多细节。虽然警报显示正确,但我得到了
TypeError:\u这个。\u route.navigate不是一个函数
好的,我刚刚解决了问题。你注入
ActivatedRoute
但你需要
路由器
() => {
   alert(this._route);//undefined
   this._route.navigate(["/addPage"]); 
}