在Angular中,可以通过Reflector类和useFactory函数来获取参数名称。
例如,有以下函数:
function exampleFunction(foo: string, bar: number) {
// some code here
}
如果想获取foo和bar这两个参数的名称,可以使用以下代码:
import { Reflector } from '@angular/core';
const parameterNames = new Reflector().parameters(exampleFunction);
console.log(parameterNames); // ['foo', 'bar']
另外,也可以通过useFactory函数来获取参数名称,例如:
import { Inject } from '@angular/core';
function exampleFactory(@Inject('foo') foo: string, @Inject('bar') bar: number) {
// some code here
}
const parameterNames = exampleFactory.toString().match(/\((.*?)\)/)[1].split(',').map(param => param.trim());
console.log(parameterNames); // ['foo', 'bar']
以上两种方法都可以获取到函数的参数名称。