Так что это было мое окончательное решение, которое работает так, как я ожидаю.Я выкладываю это здесь на случай, если кто-нибудь пойдет по аналогичной кроличьей норе.
Я все еще использую:
- angular2-highcharts
- HighCharts
Но не плагин customEvents.js
, о котором я говорил ранее.
Я полностью выполнил эту готовую функциональность из оболочки Angular:
<xAxis (afterSetExtremes)="onAfterSetExtremesX($event)"></xAxis>
Внутри соответствующего компонента Angular я установил открытый метод следующим образом:
public onAfterSetExtremesX (e: any) {
// I need context to this very component so I can bridge
// between Angular objects and classic jQuery techniques.
let self = this;
// Let's cherry-pick all WEEKLY record data from Highcharts setup.
let chartEvent0 = e.context.categories[0];
let chartEvent1 = e.context.categories[1];
let chartEvent2 = e.context.categories[2];
let chartEvent3 = e.context.categories[3];
let chartEvent4 = e.context.categories[4];
let chartEvent5 = e.context.categories[5];
let chartEvent6 = e.context.categories[6];
// Attach a click for these highcharts labels to invoke the component's method.
$('#label-single-0, #label-multiple-0').on('click', function(){
self.childModal.showModal(chartEvent0);
});
$('#label-single-1, #label-multiple-1').on('click', function(){
self.childModal.showModal(chartEvent1);
});
$('#label-single-2, #label-multiple-2').on('click', function(){
self.childModal.showModal(chartEvent2);
});
$('#label-single-3, #label-multiple-3').on('click', function(){
self.childModal.showModal(chartEvent3);
});
$('#label-single-4, #label-multiple-4').on('click', function(){
self.childModal.showModal(chartEvent4);
});
$('#label-single-5, #label-multiple-5').on('click', function(){
self.childModal.showModal(chartEvent5);
});
$('#label-single-6, #label-multiple-6').on('click', function(){
self.childModal.showModal(chartEvent6);
});
}
jQuery может выбирать элементы HTML, потому что они, наконец, перетаскиваются в контекст Axis, и я соединяю их обратно с локальной переменной, называемой self
- которая является ссылкой на this
, которая учитываетУгловые объекты, определенные в этом самом компоненте.