我正在開發一個項目,我需要兩種GUI語言。我有LangService爲每個組件提供短語。每個組件根據當前路線獲取活動語言並從LangService請求短語。在路線中更改參數
我的問題是......我需要在我的導航欄內有「我的語言切換」,這是在主要的「app.component」中。 Navbar始終位於頂部,所以我可以從每個組件訪問它。我希望能夠點擊導航欄中的按鈕並更改當前路線(更改當前語言)。這怎麼可能? 我認爲有一種方法可以改變route.params
。那樣我會改變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(我怎麼覺得這是可行的):
export class AppComponent {
changeLanguage() {
// catch the route params lang
// change route params
// set new route
}
}