gpt4 book ai didi

angular - 在 TypeScript 中使用 "Cannot invoke an expression whose type lacks a call signature."关键字时为 "get"

转载 作者:行者123 更新时间:2023-12-02 03:22:11 27 4
gpt4 key购买 nike

我有一个提供者配置服务,它具有带有 get 关键字的功能:

get getServerContextPath(): string {
return this.config.serverContextPath;
}

当我在这样的组件中使用此函数时:

const contextPath = this.configurationService.getServerContextPath();

我收到错误:

[ts] Cannot invoke an expression whose type lacks a call signature. Type 'String' has no compatible call signatures.

但是,如果我删除 get 关键字,我不会收到任何错误:

getServerContextPath(): string {
return this.config.serverContextPath;
}

这是为什么?

最佳答案

在第一种情况下,您获得一个属性,因此您必须将其称为

const contextPath = this.configurationService.getServerContextPath

在第二种情况下,它是类的方法(函数),因此您可以将其调用为

const contextPath = this.configurationService.getServerContextPath()

关于angular - 在 TypeScript 中使用 "Cannot invoke an expression whose type lacks a call signature."关键字时为 "get",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54441279/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com