如何从 ag-grid valueFormatter 调用服务

How to call service from ag-grid valueFormatter

有谁知道如何在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 的服务。

提前致谢

您错过了从构造函数创建的 someService 实例的引用。这可以通过使用 this 关键字来修复。试试下面的代码

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

我找到了解决问题的方法。我只需要执行以下操作:

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

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