
[英]Angular ControlValueAccessor registerOnChange callback being overwritten
[英]Implementing ControlValueAccessor with specific type in registerOnChange using TypeScript
在遵循有关实现ControlValueAccessor的指南之后,我注意到在registerOnChange
的实现中传递的传播函数似乎有点松动。
private propagateChange = (_: any) => { };
public registerOnChange(fn: any) {
this.propagateChange = fn;
}
我很好奇为什么传入的参数是any
参数,而不是更严格地描述实际函数的参数(更不用说具有预定签名的函数了)。 毕竟,框架会提供某些内容,因此可以预测其内容,不是吗?
凭直觉,我期望这样的类型受限制 。
public registerOnChange(fn: () => void) {
this.propagateChange = fn;
}
或者,可能的是(也最好用any
代替更具体的东西)。
public registerOnChange(fn: (param: any) => void) {
this.propagateChange = fn;
}
为什么在Angular中不是这种情况? 草率的放松设计或我没有看到的更深层次的问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.