Я пытаюсь использовать Tabulator для таблиц в angular 7. Я пытаюсь вызвать функцию по щелчку ячейки, чтобы функция открывала окно MatDialog и отображала информацию о строках. Однако проблема в том, что когда я пытаюсь получить доступ к любой из переменных Component (dialog: MatDialog) внутри вызываемой функции, она не определена. При отладке я обнаружил, что функция вызывается внутри Tabulator, а не в угловом компоненте. Есть ли способ вызвать функцию в Angular и получить доступ к компонентным переменным внутри функции?
export class ExampleTableComponent implements OnInit {
exampleTable: Tabulator;
constructor(private dialog: MatDialog) { }
ngOnInit() {
this.exampleTable = new Tabulator("#ex-table-div",{
height : 300,
data: this.example_data,
layout: "fitColumns",
columns: [
{ formatter:"rownum", align:"center", width:40},
{ formatter: this.printIcon, width:40, align:"center",
cellClick: this.openDialog
},
.......
],
......
});
}
openDialog(e, cell){
const dialogConfig = new MatDialogConfig();
dialogConfig.disableClose = true;
dialogConfig.autoFocus = true;
this.dialog.open(DetailsComponent, {
width: '300px',
});
..........
}
......
}