2017-06-02 31 views
0

我正在使用Redux創建一個angular4多語言應用程序。 我想從URL中讀取語言參數,以便設置redux變量。讀取路徑參數在減少角度4

終極版:

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 }, 
]; 

網址:

http://localhost/en-us/search

語言來一直爲空來回米redu

爲什麼?我該如何解決它?

回答

-1

使用ActivatedRoute和sucscribe它

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']; 
     }); 
    } 
} 
+0

結果之際,不確定的。它是一個不正常的組件 –