Angular中的文化路线参数

问题描述 投票:0回答:2

我有一个Angular网站。在所有的路由中,我有一个文化路由参数,叫做:文化。所以,URL的内容是这样的。

 http://domain.eu/en/start
 http://domain.eu/nl/start

现在,当用户进入网站时,他可以使用外部提供者登录(通过身份服务器),成功登录后,他将被重定向回网站的根部。http:/domain.eu.

我的问题是,我想根据用户在配置文件设置中保存的文化重定向到正确的起始页。例如,用户X登录并将荷兰语作为他的默认语言。

在我的app-routing.module.ts中,我有。

 const appRoutes: Routes = [
   {
     path: '',
     redirectTo: 'en/start',
     pathMatch: 'full',
    },
 ];

...我想知道如何重定向到正确的文化,而不是硬编码的 "enstart"。我可以使用一个变量来构建重定向路径或类似的东西吗?

angular typescript routes localization
2个回答
0
投票

你可以使用route paramters来实现,见下面的例子。

const appRoutes: Routes = [
       {
         path: '',
         redirectTo: ':culture/start',
         pathMatch: 'full',
        },
     ];

设置完路由参数后,像平时一样重定向即可。

详情请看文档


0
投票

你可以将路径:''连接到MyRedirectComponent。

ngOnInit() {
   const locale = 'en'; // TODO your logic
   this.router.navigate(['/' locale + '/start']);    
}

0
投票

我会使用Guard和导航到路由上 router.navigate

© www.soinside.com 2019 - 2024. All rights reserved.