Angular 制表器单元格单击:如何在单元格单击和使用组件元素时以角度调用函数
我正在尝试使用制表器来处理angular 7中的表格。我试图在单元格单击时调用函数,以便该函数打开一个对话框并显示行信息。然而,问题是当我试图访问被调用函数中的任何组件变量dialog:MatDialog时,它是未定义的。调试时,我发现该函数是在制表器内部调用的,而不是在角度组件中调用的。是否有方法调用函数中的函数并访问函数中的组件变量Angular 制表器单元格单击:如何在单元格单击和使用组件元素时以角度调用函数,angular,angular-material,angular7,tabulator,Angular,Angular Material,Angular7,Tabulator,我正在尝试使用制表器来处理angular 7中的表格。我试图在单元格单击时调用函数,以便该函数打开一个对话框并显示行信息。然而,问题是当我试图访问被调用函数中的任何组件变量dialog:MatDialog时,它是未定义的。调试时,我发现该函数是在制表器内部调用的,而不是在角度组件中调用的。是否有方法调用函数中的函数并访问函数中的组件变量 export class ExampleTableComponent implements OnInit { exampleTable: Tabulator;
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',
});
..........
}
......
}
ES6引入lambda,也称为arrow函数。主要的区别在于这一点的范围
函数:this的作用域=调用方制表器
lambda:this=classe的范围,其中lambda是ExampleTableComponent
使用cellClick:this.openDialog.bindthis可以不使用ES6语法,但我个人更喜欢lambda
ES6引入lambda,也称为arrow函数。主要的区别在于这一点的范围
函数:this的作用域=调用方制表器
lambda:this=classe的范围,其中lambda是ExampleTableComponent
使用cellClick:this.openDialog.bindthis可以不使用ES6语法,但我个人更喜欢lambda
我也有这个问题。我是这样解决的:
cellClick: (e, row)=> this.openDialog(e, row)
我也有这个问题。我是这样解决的:
cellClick: (e, row)=> this.openDialog(e, row)
你试过兰达吗?cellClick:=>这个。openDialog@Gilsdav:成功了!请解释一下你是如何找到修复的?谢谢你要不要试试拉姆达?cellClick:=>这个。openDialog@Gilsdav:成功了!请解释一下你是如何找到修复的?谢谢你!谢谢你的解释。使用lamda函数,我还能够传递事件和单元格参数,如cellClick:e,row=>this.openDialoge,row。谢谢,太好了!谢谢你的解释。使用lamda函数,我还能够传递事件和单元格参数,如cellClick:e,row=>this.openDialoge,row。谢谢。请不要将“谢谢”添加为答案。在这个网站上投入一些时间,你会得到足够多的你喜欢的答案,这是表示感谢的堆栈溢出方式。请不要添加感谢作为答案。在网站上投入一些时间,你将获得足够的投票结果,这是表示感谢的堆栈溢出方式。