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

par*_*ara 3 javascript typescript angular5

我在Angular5中使用typescript创建了getter-setter,如下所示: -

  private _locations: Array<string> = [];

  constructor() { }

  /**
   * Getter locations
   * @return {Array<string>}
   */
  public get locations(): Array<string> {
    return this._locations;
  }

  /**
   * Setter locations
   * @param {Array<string>} value
   */
  public set locations(value: Array<string>) {
    this._locations = value;
  }
Run Code Online (Sandbox Code Playgroud)

当我尝试访问方法位置时

this.signUpService.locations();
Run Code Online (Sandbox Code Playgroud)

我收到一个错误: [ts] Cannot invoke an expression whose type lacks a call signature. Type 'string[]' has no compatible call signatures.

bas*_*rat 8

this.signUpService.locations();

没有调用getter.他们只是得到了

固定:

const value = this.signUpService.locations; 
Run Code Online (Sandbox Code Playgroud)

这只是TypeScript拯救你.