根据域在路由之间进行选择-Angular 6

时间:2019-01-14 15:47:09

标签: angular angular6 angular-routing

是否可以在app.module或app.routes上的不同路由变量之间进行选择?

我的问题是,根据应用程序语言,我有不同的路由,
如果从example.it调用应用程序,则路由应使用意大利语,如果由example.fr调用则使用法语。
br />
以下是我尝试使用的方法,但找不到合适的出口方式:

import { Routes } from '@angular/router';
import { fr, it } from "@providers/routes.provider";

const availableRoutes: any = {
    "it": it,
    "fr": fr
};

const lang = "it"; // this should be dynamic somehow so this would work correctly

export const appRoutes: Routes = availableRoutes[lang];

1 个答案:

答案 0 :(得分:0)

您可以编写一个单独的代理组件,该组件可以根据某些条件来重定向用户,例如:

在您的路由模块中输入:

{
    path: "",
    component: ProxyComponent,
    children: [
        {path: "**", component: ProcessProxyComponent},
    ]
}

然后在ProcessProxyComponent中输入:

...

constructor(...) {
    if(lang === "it) {
        router.navigate(...);
    }
}

...