Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度6使用映射生成路线_Javascript_Angular_Angular Router_Angular Cli V6 - Fatal编程技术网

Javascript 角度6使用映射生成路线

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: [

我想在url上定义网站语言。例如“mysite.com/en/blabla”。但我对每个客户都有不同的语言。如果客户不支持英语,angular应该返回404,我尝试以下方法:

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'


希望这有帮助:)

我知道这一点,但我应该为此使用激活器:(天哪,谢谢