html - איך מעבירים את האלמנט בביינדינג של Angular2 ב-Typescript?


איך אני מקבל את אלמנט ה-HTML הספציפי שעובר דרך binding. מצטער אם זה קשה להבנה, הנה הקוד.

donut-chart.html

<div class="donut-chart" (donut)="$element"></div>

איך אני מעביר את אלמנט ה-div ל-donut?

זה ה-TS

dount-chart.ts

@Component({
  selector: 'donut-chart',
  template: require('./donut-chart.html'),
  directives: [Widget, MorrisChart],
  encapsulation: ViewEncapsulation.None,
  styles: [require('./donut-chart.scss')]
})
export class DonutChart implements OnChanges{
  @Input() height: number = 300;
  @Input() data: any[] = [{label: 'loading', value: '0', color: '#eee'}];

  morris3Options: any;
  donut: any;

  render(): void {
    jQuery(this.donut).css({height: this.height}); // safari svg height fix
    window['Morris']['Donut']({element: this.donut}, this.morris3Options);
  }

אני רוצה שהמשתנה 'דונאט' יהיה האלמנט בלי להשתמש במחלקה/מזהה. אני צריך להשתמש בכמה דונאטים וב-jQuery, אז אני צריך דרך לקבל את הדונאט הייחודי.

תשובה #1

<div #someElement></div>
<div class="donut-chart" (donut)="someElement"></div>

זה יכול להיות גם האלמנט הנוכחי

<div #someElement class="donut-chart" (donut)="someElement"></div>