Как получить идентификатор id чартов в старших чартах по щелчку в угловых 6 - PullRequest
2 голосов
/ 13 мая 2019

У меня есть простой Линейный график старших карт в 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 голос
/ 13 мая 2019

Нет необходимости проходить все мероприятие (если вам не нужны другие аспекты мероприятия, чем вы заявили).На самом деле это не рекомендуется.Вы можете передать ссылку на элемент с небольшой модификацией.

Решение 1

html

<div #referenceKeyName (click)="onClickMe(referenceKeyName)" id="chart1"></div>

component

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... 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...