javascript - Typescript-fel för typen Array: Kan inte anropa ett uttryck vars typ saknar en kallelsesignatur


Jag har skapat getter-setter enligt följande med TypeScript i Angular5:-

  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;
  }

När jag försöker komma åt metodplatser

this.signUpService.locations();

Jag får ett fel: [ts] Kan inte anropa ett uttryck vars typ saknar en anropssignatur. Typen 'string[]' har inga kompatibla anropssignaturer.

Svar #1

this.signUpService.platser();

getters blir inte anropade. De blir helt enkelt hämtade

Åtgärda :

const value = this.signUpService.locations; 

Detta är bara TypeScript som räddar dig.

Relaterade artiklar