如何从ag-grid valueFormatter调用服务

时间:2018-02-21 08:58:47

标签: angular typescript ag-grid

有没有人知道如何从Angular2 +中的ag-grid的ValueFormatter调用服务?

示例:

我在构造函数中注入了一个名为someService的服务,并希望从ValueFormatter调用该服务。我该怎么做才能实现这个目标?

constructor(private service: SomeService) { }

this.columnDefs.push(
        {
            headerName: 'Date',
            width: 150,
            field: 'incidentDate',
            valueFormatter(params) {
                return this.service.doSomething(params.value);
            }
        });

目前,它无法识别valueFormatter中的服务。

提前致谢

2 个答案:

答案 0 :(得分:6)

我找到了解决问题的方法。我只需要做以下事情:

 this.columnDefs.push(
    {
        headerName: 'Date',
        width: 150,
        field: 'incidentDate',
        valueFormatter: this.anotherFunction.bind(this)
    });

anotherFunction(params): string {
    return this.service.doSomething(params.value);
}

答案 1 :(得分:0)

您错过了从构造函数创建的someService实例的引用。哪个可以通过this关键字修复。请尝试以下代码

valueFormatter(params) {
   return this.service.doSomething(params.value);
}