Javascript 角度6使用映射生成路线
我想在url上定义网站语言。例如“mysite.com/en/blabla”。但我对每个客户都有不同的语言。如果客户不支持英语,angular应该返回404,我尝试以下方法:Javascript 角度6使用映射生成路线,javascript,angular,angular-router,angular-cli-v6,Javascript,Angular,Angular Router,Angular Cli V6,我想在url上定义网站语言。例如“mysite.com/en/blabla”。但我对每个客户都有不同的语言。如果客户不支持英语,angular应该返回404,我尝试以下方法: const languages:Routes = Object.getOwnPropertyNames(environment.trader.langList).map(path => { return { path, component: OutComponent, children: [
const languages:Routes = Object.getOwnPropertyNames(environment.trader.langList).map(path => {
return {
path, component: OutComponent,
children: [
{ path: 'place-bet', loadChildren: '../../desktop/placebet/placebet.module#PlacebetModule' },
{ path: 'games', loadChildren: '../../desktop/games/games.module#GamesModule' },
{ path: 'dashboard', loadChildren: '../../desktop/dashboard/dashboard.module#DashboardModule' }]
};
})
debugger;
const OutRoutes: Routes = [
...languages
];
export const OutRouter = RouterModule.forChild(OutRoutes);
我从环境中获取语言,并为每种语言生成路由。这适用于运行时,但当我编译时,它会给出一个错误:“无法读取未定义的属性'loadChildren'中的错误”。它无法在编译时编译映射的路由。如何解决此问题?发现此问题:
基本上,@NgModule声明中只允许静态赋值,不支持函数调用。路由是通过NGO模块完成的,是吗
如果您想在您的案例中为支持的语言列表定制URL,为什么不使用定制路径呢
类似路径:':lang/place-bet'
希望这有帮助:)我知道这一点,但我应该为此使用激活器:(天哪,谢谢