我想從同一個事件中調用 javascript 函數和 typescript 函數。它是圖表中的一個 onClick 事件。我對打字稿和角度比較陌生,所以我不知道我在做什么甚至可能。問題是:我需要調用一個 javascript 函數來獲取圖表中的激活條,并調用 typescript 函數在角度組件中打開一個對話框。 onClick: function(evt){ console.log(this);//<-- returns chart bar: () => {console.log(this)}; //<-- here I try to get this as component bar(); // <--doesnt work //console.log(document.getElementById('myChart')); }如果我展示整個事情,也許更好。 public barChartOptions = { scaleShowVerticalLines: false, responsive: true, events: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'], onHover: console.log('onHover'), onClick: function(evt){ //console.log(evt); Mouse Event console.log(this); const getFirst = array => console.log(this); console.log(getFirst); //bar: () => {console.log(this)}; //bar(); //console.log(document.getElementById('myChart')); }, /* onClick : (evt, datasets) => { //let self = this; //console.log(self); if(datasets.length > 0){ this.openDialog(); console.log(this); console.log(this.barChart); } },*/ scales: { xAxes: [{ stacked: true }], yAxes: [{ stacked: true }] }, legend: { display: true, position: 'right' }, tooltips: { enabled: true, mode: 'point' } };這是我的 html 模板: my-bar-dialog works! <div> <div style="display: block"> <canvas baseChart id="myChart" [datasets]="barChartData" [labels]="barChartLabels" [options]="barChartOptions" [legend]="barChartLegend" [chartType]="barChartType"> </canvas> </div> </div> <button mat-raised-button (click)="openDialog()">Pick one</button> <button (click)="openDialog()">Pick one</button>
如何在同一事件中調用打字稿箭頭函數和 javascript 函數
肥皂起泡泡
2021-06-28 13:01:18