Я использую 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