Как получить идентификатор id чартов в старших чартах по щелчку в угловых 6

У меня есть простой Линейный график старших в angular6. Мне нужно получить идентификатор div диаграммы, к которой он принадлежит, по щелчку диаграммы. Здесь идентификатор div равен chart1, поэтому мне нужно сообщить об этом в тревоге, а также позвонить извне графика. Я уже пробовал, но его не работает, его показ пустым. Есть какое-то решение для этого. Вот код ниже. Прямая демонстрация https://stackblitz.com/edit/angular-yw3xwa?file=src%2Fapp%2Fapp.component.ts

app.component.html

<hello name="{{ name }}"></hello>
<div (click)="onClickMe($event)" id="chart1"></div>

app.component.ts

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... 
}

Есть идеи?

10000