我尝试将click事件添加到highcharts栏以导航到另一个html视图并加载另一个组件。我目前来自控制台的错误是:
my-child
这就是我在组件文件中的内容:
Cannot read property 'navigate' of undefined
我不确定我是否完全理解为什么我会收到此错误,或者我使用错误导航方式。
文件夹结构:
答案 0 :(得分:0)
我认为问题是您在点击功能中没有获得this
的正确值。
要解决此问题,您可以创建self
变量并在外部范围内指定this
,并在函数中使用self.router.navigate
。
import { Router } from '@angular/router';
//Within your component
self;
constructor(private myService: MyService, private router: Router) {
self = this; // Assign outer context to self
}
plotOptions: {
bar: {
dataLabels: {
enabled: false
}
},
series: {
pointWidth: 15,
cursor: 'pointer',
point: {
events: {
click: function(){
//Change this to self
self.router.navigate(['/nestedFolder/newPage.component.html']);
}
}
}
}
}