我正在開發一個帶有VS代碼的多語言Angular4應用程序。在Angular + Typescript VS代碼中使用語言路由
路由器必須是這樣的:
本地主機/ EN-US /願景
我有一類叫做TranslateHelper:
import { ActivatedRoute } from '@angular/router';
export class TranslateHelper {
private currentLanguage: string;
private defaultLanguage = 'de-de';
constructor(private route: ActivatedRoute) {}
public getCurrentLanguage() {
this.route.params.subscribe(params => {
this.currentLanguage = params.lang;
});
return this.currentLanguage;
}
}
應用程序的路由。模塊是:
const routes: Routes = [
{ path: ':lang/visions', component: VisionsComponent},
];
和頁腳我試圖添加的語言中的網址:
export class FooterComponent implements OnInit {
public lang;
constructor(private translateHelper: TranslateHelper) { }
ngOnInit() {
this.lang = this.translateHelper.getCurrentLanguage();
}
}
HTML:
<li><a [routerLink]="[lang, 'visions']">Visions</a></li>
我沒有收到任何故障,但郎頁腳總是不確定的,就像params.lang一樣。
有人能告訴我我該如何解決它?不管怎樣,謝謝你。
你到底是什麼意思?我不明白你的回答 –
'return this.currentLanguage'應該在訂閱裏面,只是在 – trichetriche
以上的幾行就行了,所以不要打擾。您無法從訂閱中返回任何內容。 – Chrillewoodz