У меня есть простой Линейный график старших в angular6. Мне нужно получить идентификатор div диаграммы, к которой он принадлежит, по щелчку диаграммы. Здесь идентификатор div равен chart1, поэтому мне нужно сообщить об этом в тревоге, а также позвонить извне графика. Я уже пробовал, но его не работает, его показ пустым. Есть какое-то решение для этого. Вот код ниже. Прямая демонстрация https://stackblitz.com/edit/angular-yw3xwa?file=src%2Fapp%2Fapp.component.ts
<hello name="{{ name }}"></hello>
<div (click)="onClickMe($event)" id="chart1"></div>
declare var require: any;
import { Component } from '@angular/core'
import * as Highcharts from 'highcharts'
import * as Exporting from 'highcharts/modules/exporting'
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
clickMessage = ''
name = 'Angular'
onClickMe(event) {
alert(event.target.id);
}
ngOnInit(){
this.chartFunc('chart1');
}
chartFunc(chartId){
Highcharts.chart(chartId,{
chart: {
type: "spline"
},
title: {
text: "Monthly Average Temperature"
},
series: [
{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,26.5, 23.3, 18.3, 13.9, 9.6]
}
]
});
}
}
Всего 1 ответ
Нет необходимости проходить все мероприятие (если вам не нужны другие аспекты мероприятия, чем вы заявили). На самом деле это не рекомендуется. Вы можете передать ссылку на элемент с небольшой модификацией.
Решение 1
HTML
<div #referenceKeyName (click)="onClickMe(referenceKeyName)" id="chart1"></div>
составная часть
onClickMe(referenceKeyName) {
alert(referenceKeyName.id);
}
Технически, вам не нужно находить кнопку, на которую нажали, потому что вы пропустили фактический элемент.
Решение 2
HTML
<div (click)="onClickMe($event)" id="chart1"></div>
составная часть
onClickMe(event: Event): void {
let elementId: string = (event.target as Element).id;
// do something with the id...
}