错误:无法调用类型缺少调用签名的表达式

2024-03-11

我是打字稿的新手,我有两门课。在父类中我有:

abstract class Component {
  public deps: any = {};
  public props: any = {};

  public setProp(prop: string): any {
    return <T>(val: T): T => {
      this.props[prop] = val;
      return val;
    };
  }
}

在儿童班我有:

class Post extends Component {
  public toggleBody: string;

  constructor() {
    this.toggleBody = this.setProp('showFullBody');
  }

  public showMore(): boolean {
    return this.toggleBody(true);
  }

  public showLess(): boolean {
    return this.toggleBody(false);
  }
}

showMore 和 ShowLess 都给我错误,“无法调用类型缺少调用签名的表达式。”

但我认为 setProp 返回的函数确实有调用签名吗?我认为我误解了有关函数类型的一些重要内容,但我不知道它是什么。

Thanks!


它返回的函数有一个调用签名,但你告诉 Typescript 通过添加来完全忽略它: any在其签名中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:无法调用类型缺少调用签名的表达式 的相关文章