我对angular2中的打字稿有疑问。 我有一个简单的类,只有一个属性用于保存方法的引用。
export class Icon{
public OnClick?:() => void;
}
然后在组件中我将方法设置为此变量
iconSource: Icon[] {
{ OnClick: this.myOnClickMethod() }
}
public myOnClickMethod(){
this.toggleFilterRow();
}
public toggleFilterRow()
{
//some logic for filtering the grid
}
在html模板中,我正在调用 icon.OnClick()正确调用 myOnClickMethod() 一切都工作得很完美,直到执行方法 myOnClickMethod(),其中这个不是组件的范围,而是它的Icon范围。 (结果=未知方法 toggleFilterRow()) 你可以给我一些提示吗?#34;范围"问题?感谢
答案 0 :(得分:0)
iconSource: Icon[] {
{ OnClick: () => { this.myOnClickMethod(); } }
}
public myOnClickMethod(){
this.toggleFilterRow();
}
public toggleFilterRow()
{
//some logic for filtering the grid
}
使用胖箭头(=>)时,会保留此上下文。