Angular2组件

时间:2017-08-25 13:33:59

标签: angular typescript

我对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;范围"问题?感谢

1 个答案:

答案 0 :(得分:0)

iconSource: Icon[] {
     { OnClick: () => { this.myOnClickMethod(); } }
}

public myOnClickMethod(){
     this.toggleFilterRow();
}

public toggleFilterRow()
{
    //some logic for filtering the grid
}

使用胖箭头(=>)时,会保留此上下文。