Angular2 - 带语言的路线

blu*_*ray 7 angular

你好,我想用这种格式的语言创建路线:

www.domain.com/lang/sometimes
Run Code Online (Sandbox Code Playgroud)

例子:

www.domain.com/en/sometimes
www.domain.com/de/sometimes
Run Code Online (Sandbox Code Playgroud)

是否可以编写路由类似的内容:

RouterModule.forChild({
   path: ':lang/sometimes', component: TestComponent
})
Run Code Online (Sandbox Code Playgroud)

是否可以?如何设置为url默认语言?例如在应用程序启动时,动态设置 lang 参数为 url。

谢谢你的建议

Nir*_*del 5

那么你可以做这样的事情。您可以创建两条路由,一条用于默认路由,另一条用于其他路由。

 RouterModule.forChild([
  { path: 'english/users/sometimes', component: UserComponent, useAsDefault: true },
  { path: ':lang/users/sometimes', component: UserCOmponent }
])
Run Code Online (Sandbox Code Playgroud)

补充:订阅参数:

import { ActivatedRoute } from '@angular/router';

constructior(private route: ActivatedRoute)

ngOnInit(){
this.route.params.subscribe(value => {
    let lang = value['lang']);
    console.log(lang);    

});
}
Run Code Online (Sandbox Code Playgroud)