Reduxを使用してangular4多言語アプリケーションを作成しています。 URLから言語パラメーターを読み取り、redux変数を設定できるようにします。
Redux:
export class LanguageActions {
private locale = "";
constructor(private ngRedux: NgRedux<IAppState>, private router: ActivatedRoute) {
this.router.params.subscribe(params => this.locale = params.lang != null ? params.lang : "");
// the language is always "".
}
getCurrentLanguage() {
return this.locale;
}
}
ルーティング:
const routes: Routes =
[
{ path: ":lang/search", component: SearchResultListComponent },
];
URL:
言語は常にreduxからnullとして来ます
どうして?どうすれば修正できますか?
回答:
回答№1の場合は-1ActivatedRouteを使用して、それに登録します
export class LanguageActions implements OnInit {
lang: string;
private sub: any;
constructor(private _route: ActivatedRoute) {
}
ngOnInit() {
this.sub = this._route.params.subscribe(params => {
this.lang= params["lang"];
});
}
}