Angular I';是否可以在AppRoutingModule内使用TranslateService?

Angular I';是否可以在AppRoutingModule内使用TranslateService?,angular,angular5,Angular,Angular5,所以我在使用一个自动面包屑模块,我需要用我的翻译服务翻译标题,当我声明路由常量时,使用它的方法是什么 这是我的批准模块 import { NgModule, Injector } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; // Components ======================================== import { HomeComponent } f

所以我在使用一个自动面包屑模块,我需要用我的翻译服务翻译标题,当我声明路由常量时,使用它的方法是什么

这是我的批准模块

import { NgModule, Injector } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

// Components ========================================
import { HomeComponent } from './pages/home/home.component';
import { AltaRepresentacioComponent } from './pages/representacio/alta-representacio/alta-representacio.component';
import { ConfirmacioAltaComponent } from './pages/representacio/alta-representacio/confirmacio-alta.component';
import { ConsultaRepresentacioComponent } from './pages/representacio/consulta-representacio/consulta-representacio.component';
import { ConsultaAplicacioComponent } from './pages/aplicacio/consulta-aplicacio/consulta-aplicacio.component';
import { PermisosComponent } from "./pages/permisos/permisos.component";
import { ErrorPageComponent } from "./shared/error/error-page.component";
import { TranslateService} from '@ngx-translate/core';

const routes: Routes = [
  { path: '*', redirectTo: '' },
  {
    path: '',
    component: HomeComponent,
  },
  {
    path: 'representacio',
    children: [
      {
        path: 'alta',
        children: [
          {
            path: '',
            component: AltaRepresentacioComponent
          },
          {
            path: 'confirmacio',
            component: ConfirmacioAltaComponent,
            data: {
              breadcrumb: 'Confirmació de Representació'
            }
          }
        ],
        data: {
          breadcrumb: 'Alta de Representació'
        }
      },
      {
        path: 'consulta',
        component: ConsultaRepresentacioComponent,
        data: {
          breadcrumb: 'Consulta Representacions'
        }
      }
    ]
  },
  {
    path: 'permisos',
    component: PermisosComponent,
    data: {
      breadcrumb: 'Permisos'
    }

  },
  {
    path: 'error',
    component: ErrorPageComponent,
    data: {
      breadcrumb: 'ErrorPage'
    }
  }
];

@NgModule({
  // imports: [RouterModule.forRoot(routes)],
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
  providers: []
})
export class AppRoutingModule { }
下面是我使用面包屑(HTML)的地方:


我尝试了一些方法,但我对angular和Typescript非常陌生,所以我不太了解一些东西是如何工作的,比如InjectServices之类的,所以如果你能帮我找到一种解决方法的话。因为我知道使用TranslateService的唯一方法是在构造函数中声明它,但是我不能使用它来创建routes常量。

您可以将i18n密钥赋予面包屑:

data: {
  breadcrumb: 'foo.bar.xyz'
}
然后,在模板中,您可以使用
@ngx/translate
translatepe

<a routerLink="{{breadcrumb.url}}">
  {{ breadcrumb.i18nKey | translate }}
</a>

{{breadcrumb.i18nKey | translate}}

您是否尝试将i18n密钥发送到面包屑,并让面包屑翻译它?我会尝试,但一个例子会很好,正如我所说,我对Angular/Typescript/Javascript@Arnauddenoyelle真的很新。您可以展示使用面包屑的代码片段吗?多亏了您的想法,我解决了这个问题,我编辑了代码以显示HTML,因此如果您可以用解决方案回答,我会将您的答案标记为正确。谢谢顺便说一句:)@Arnauddenoyelle我想我有一个更好的解决方案:D你能显示相应的打字脚本(定义了
breadcrumb.label
)吗?
data: {
  breadcrumb: 'foo.bar.xyz'
}
<a routerLink="{{breadcrumb.url}}">
  {{ breadcrumb.i18nKey | translate }}
</a>