繁体   English   中英

使用TypeScript在registerOnChange中实现具有特定类型的ControlValueAccessor

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM