Angular 在routing.module中定义不同的路由

Angular 在routing.module中定义不同的路由,angular,angular-router,Angular,Angular Router,我想根据一个标志定义不同的路线。这是 应用程序路由.module.ts 不幸的是,上述方法不起作用。知道如何实现我想要的吗 尝试按如下方式设置路由器配置: import { Token } from "..."; // InjectionToken let routes: Routes; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class A

我想根据一个标志定义不同的路线。这是

应用程序路由.module.ts


不幸的是,上述方法不起作用。知道如何实现我想要的吗

尝试按如下方式设置路由器配置:

import { Token } from "...";  //  InjectionToken

 let routes: Routes;
 @NgModule({
   imports: [RouterModule.forRoot(routes)],
   exports: [RouterModule]
})
export class AppRoutingModule {
  constructor(@Inject(Token) private token,
   router: Router) {
    let config = router.config;
    if (this.token) {
      routes = [...]
    }
    else {
       routes =[...]
    }
    config = routes;
    router.resetConfig(config);
  }
}

这里有一个工作示例

尝试如下设置路由器配置:

import { Token } from "...";  //  InjectionToken

 let routes: Routes;
 @NgModule({
   imports: [RouterModule.forRoot(routes)],
   exports: [RouterModule]
})
export class AppRoutingModule {
  constructor(@Inject(Token) private token,
   router: Router) {
    let config = router.config;
    if (this.token) {
      routes = [...]
    }
    else {
       routes =[...]
    }
    config = routes;
    router.resetConfig(config);
  }
}

这里有一个很好的例子

奇怪,对我很有用。我仅有的额外代码是将
routerModule:routerModule
注入到相同的构造函数中。确保
路线设置正确。缺少某些内容。那么
routerModule
呢?你在哪里用它?我们如何通知
RouterModule
我们要更改其
路由
?@Unknowndeveloper在我的答案中添加了一个工作示例url。注意:动态添加的路由需要添加到
app.module.ts
中的
entryComponents
中,奇怪,对我有用。我仅有的额外代码是将
routerModule:routerModule
注入到相同的构造函数中。确保
路线设置正确。缺少某些内容。那么
routerModule
呢?你在哪里用它?我们如何通知
RouterModule
我们要更改其
路由
?@Unknowndeveloper在我的答案中添加了一个工作示例url。注意:动态添加的路由需要添加到
app.module.ts