Ich arbeite an einem Projekt, wo ich zwei Sprachen für GUI benötige. Ich habe LangService, der Sätze für jede Komponente bereitstellt. Jede Komponente ruft die aktive Sprache basierend auf den aktuellen Routen- und Anfragesprachen von LangService ab.Ändern von Parametern in der Route
Meine Frage ist ... Ich muss meine "Sprachen wechseln" innerhalb meiner Navbar, die in der Hauptversion "app.component" ist. Navbar ist immer an der Spitze, so dass ich von jeder Komponente aus darauf zugreifen kann. Ich möchte in der Lage sein, auf die Schaltfläche in der Navigationsleiste zu klicken und die aktuelle Route zu ändern (aktuelle Sprache ändern). Wie ist es möglich? Ich dachte, es gibt eine Möglichkeit, route.params
zu ändern. Auf diese Weise würde ich ändern route.params['lang'] = 'EN'
;
AppComponent.html:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">{{ title }}</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<ol class="breadcrumb">
<li *ngFor="let lang of langs"><a (click)="changeLanguage()">{{ lang }}</a></li>
</ol>
</ul>
</div>
</div>
</nav>
<router-outlet></router-outlet>
AppComponent.ts (Wie ich dachte, es würde funktionieren):
export class AppComponent {
changeLanguage() {
// catch the route params lang
// change route params
// set new route
}
}