ОШИБКА TypeError: Невозможно прочитать свойство 'moreText' из неопределенного, используя ngx-translate - PullRequest
0 голосов
/ 18 декабря 2018

Я использую ngx-translate для управления функциями перевода для углового приложения, имеющего ng-version = "4.4.7"

У меня есть следующий ключ в файле переводов:

en.json :
{
  "moreText": "more"
}

es.json :
{
  "moreText": "más"
}

TestService.ts:

import { TranslateService } from "@ngx-translate/core";

@Injectable()
export class TestService {
  public moreText: string;
  constructor(private zone: NgZone, public translateService: TranslateService) {
    this.moreText = translateService.instant("moreText");
  }

}

Я пытаюсь использовать moreText в файле test.model.ts

test.model.ts:

import { TestService } from "./test.service";
export class TestModel {
  constructor(data: any, private testService?: TestService) {
  }

get parsedCountries(): string {
    const countriesAmount = this.countries.length;

    return (countriesAmount < 4
      ? this.countries
      : this.countries
          .slice(0, 2)
          .concat(`${countriesAmount - 2} ${this.testService.moreText}`)
    ).join(", ");
  }
}

Я не вижу каких-либо ошибок во время компиляции, но в rumtime, когда дело доходит до использования moreText в parsedCountries (), я получаю сообщение об ошибке: ERROR TypeError: Невозможно прочитать свойство 'moreText' из undefined с помощью ngx-translate

...