Angular 5 - 路由到具有不同 URL 的相同组件

Am *_*ice 6 angular-ui-router angular2-routing angular

我有以下路由应该路由到同一个组件,我可以通过使用以下结构来让它工作。

const carModuleRoutes: Routes = [
    { path: 'car/:category/:carId', component: CarDetailComponent},
    { path: 'car/:carId', component: CarDetailComponent},
];
Run Code Online (Sandbox Code Playgroud)

但我知道这不是这样做的标准方法,是否有执行相同功能的正确方法?

Ami*_*ani 4

routes这是定义及其各自的标准方式components。您在routing模块内部,并且正在尝试定义routes,而不是components.

因此,不要忽视将相同的内容分组componentroutes为它们定义。你所做的似乎是合适的。

编辑 :

你的情况很简单,你可以简单地这样做:

const carModuleRoutes: Routes = [
    { path: 'car/:category/:carId', redirectTo : 'car/:carId', pathMatch : 'full'},
    { path: 'car/:carId', component: CarDetailComponent},
];
Run Code Online (Sandbox Code Playgroud)

笔记 :

在这种情况下,您的 url 将发生变化,并且您可能会丢失 的值:category,这可能在组件中有用。因此,最好将指向同一组件的多个路由指定为单独的案例。