2017-06-02 66 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

结果之际,不确定的。它是一个不正常的组件 –