Angular 获取typescript箭头函数以使用反射(角度项目)
我有这个方法调用:Angular 获取typescript箭头函数以使用反射(角度项目),angular,typescript,Angular,Typescript,我有这个方法调用: form.myMethod(x => x.fullName); 我想在myMethod中提取fullName字符串 export class LobFromBuilder<T>{ public myMethod(key:(a: T) => void) { // var keyName = key.toString().split('.').slice(-1).pop();//this is the BAD way
form.myMethod(x => x.fullName);
我想在myMethod
中提取fullName
字符串
export class LobFromBuilder<T>{
public myMethod(key:(a: T) => void) {
//
var keyName = key.toString().split('.').slice(-1).pop();//this is the BAD way
}
}
var form = new LobFromBuilder<CustomerEntity>();
form.myMethod(x => x.fullName);
导出类LobFromBuilder{
公共myMethod(键:(a:T)=>void){
//
var keyName=key.toString().split('.').slice(-1.pop();//这是一种糟糕的方法
}
}
var form=new LobFromBuilder();
form.myMethod(x=>x.fullName);
我需要的东西,将在角度生产模式的工作
谢谢也许吧?但仍然很危险。@jcalz nice,为什么这么危险?感谢危险在于
myMethod()
接受奇怪的回调,而编译器没有抱怨,奇怪的事情在运行时发生,直到抛出异常。您只希望它接受形式为x=>x[k]
的函数。一旦您考虑使该类型安全,它就会促使您只允许myMethod()
获取使用类似accessor(k:k){return(x:T)=>x[k]}
的方法构建的“已知”访问器。那么form.myMethod(form.accessor(“全名”)
就安全了。但是如果存在accessor()
,myMethod()
是无用的。如果没有一个强大的用例和一个完整的应用程序,我对此表示怀疑。