Как получить экземпляр одноэлементной службы, которая находится в работающем модуле для функции справки для этого модуля?
Я делаю многоязычное приложение. Я использую пакет ngx-translate, все шло очень хорошо, потому что модуль ngx-translate предоставляет мне 2 варианта перевода, он предоставляет мне сервис перевода для перевода текстовых строк внутри component.ts и директиву | перевести, чтобы перевести текстовые строки в component.html.
Я использую угловую конструкцию материала, но раздел пагинатора (mat-paginator) можно получить только с помощью директивы углового материала, я исследовал в интернете, как перевести эти строки, и тот же угловой материал дает вам способ сделать это, в На самом деле, это дает вам пример:
https://stackblitz.com/edit/angular-5mgfxh-6mbpdq
Пример показывает, что вы должны использовать функцию справки для перевода текстовых строк, вызывая функцию в модуле, где перевод будет выполняться следующим образом:
app.module.ts
{предоставить: MatPaginatorIntl, useValue: getDutchPaginatorIntl() }
export function getDutchPaginatorIntl() {
const paginatorIntl = new MatPaginatorIntl();
paginatorIntl.itemsPerPageLabel = 'Items per pagina:';
paginatorIntl.nextPageLabel = 'Volgende pagina';
paginatorIntl.previousPageLabel = 'Vorige pagina';
return paginatorIntl;
}
Проблема здесь, как я могу вставить экземпляр TranslateService, который находится внутри этого модуля в этой функции справки?
Как я могу перетащить экземпляр службы перевода, который находится внутри этого модуля, в функцию справки, которая предназначена для перевода этого модуля?
В качестве дополнительных данных я импортирую TranslateModule, предоставляемый сервисом translate, и канал translate для всех компонентов этого модуля.
Я уже пытался сделать это:
app.module.ts
{provide: MatPaginatorIntl, useValue: getTranslatePaginatorIntl, deps: [TranslateService]}
Функция getTranslatePaginatorIntl:
export function getTranslatePaginatorIntl (translate: TranslateService) {
const paginatorIntl = new MatPaginatorIntl ();
paginatorIntl.itemsPerPageLabel = 'Items per page:';
paginatorIntl.firstPageLabel = 'First page';
paginatorIntl.previousPageLabel = 'Previous page';
paginatorIntl.nextPageLabel = 'Next page';
paginatorIntl.lastPageLabel = 'Last page';
return paginatorIntl;
}
И это не работает, вы можете мне помочь?
У меня есть пример, работающий в: https://stackblitz.com/edit/translate-mat-paginator-with-ngx-translate