1

我在我的模块上创建了路由并将其作为子模块导入。

在一个 module.Routing.ts

export  const routes: Routes = [
  {
    path : 'admin',
    component : IndexComponent,
    children :[
        { path: '', component: HomeComponent, outlet:'AdminRO' },
        { path: 'products', component: ProductsComponent, outlet: 'AdminRO' }
    ]
  }
];

export  const routing: ModuleWithProviders = RouterModule.forChild(routes);

在 app.routing.ts

我有这个

const appRoutes: Routes = [
  { path: '', redirectTo: '/admin', pathMatch: 'full' },
  { path: 'login', component: AppLoginComponent }
];
export  const AppRouting: ModuleWithProviders = RouterModule.forRoot(appRoutes);

现在当它成功重定向到第一个 homecomponent 时。但是当我尝试使用 url localhost/admin/products.

它给了我一个错误

 Cannot match any routes. URL Segment: 'admin/products'
4

2 回答 2

2

您需要从您在辅助模块中使用的路由器插座中删除 AdminRO。

于 2018-06-01T11:08:10.250 回答
0

命名出口是二级路由的目标。如果要从浏览器导航到二级路由,请输入如下url

http://.../admin(AdminRO:products)

管理员是主要导航。括号围绕辅助路由。二级路由由一个出口名称 (AdminRO)、一个冒号分隔符和二级路由路径(产品)组成。

于 2018-06-01T10:41:03.207 回答