在Angular的ngOnChanges中调用本地声明的函数

时间:2018-12-17 14:05:23

标签: javascript angular typescript

我知道这是一个相当基本的问题,但我似乎无法找到解决方案。在这里:

我有一个Angular组件,在这个组件中我有一个函数。

export class RolesListComponent implements OnInit, OnChanges {

    @ViewChild(DxDataGridComponent) dataGrid: DxDataGridComponent;

    ngOnChanges(changes: SimpleChanges): void {
        this.refresh();
    }

    refresh(){
        this.dataGrid.instance.refresh();
    }

}

在onchanges中调用this.refresh()无效,并给出一个错误,提示刷新未定义。

我该怎么办才能直接在onchanges中执行函数内部的代码,或者执行函数本身。

1 个答案:

答案 0 :(得分:1)

根据文档

  

ngOnChanges在角度(重新)设置数据绑定的输入属性时响应

简而言之,如果您具有任何@input属性,并且您要检测对这些属性的任何更改,则可以使用ngOnChanges。由于我没有在您的组件中看到任何输入属性,这可能就是原因,因此ngOnchanges无法执行